package cn.online.taxi.manager.pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class TbOrderExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public TbOrderExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andOrderNumberIsNull() {
            addCriterion("order_number is null");
            return (Criteria) this;
        }

        public Criteria andOrderNumberIsNotNull() {
            addCriterion("order_number is not null");
            return (Criteria) this;
        }

        public Criteria andOrderNumberEqualTo(String value) {
            addCriterion("order_number =", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberNotEqualTo(String value) {
            addCriterion("order_number <>", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberGreaterThan(String value) {
            addCriterion("order_number >", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberGreaterThanOrEqualTo(String value) {
            addCriterion("order_number >=", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberLessThan(String value) {
            addCriterion("order_number <", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberLessThanOrEqualTo(String value) {
            addCriterion("order_number <=", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberLike(String value) {
            addCriterion("order_number like", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberNotLike(String value) {
            addCriterion("order_number not like", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberIn(List<String> values) {
            addCriterion("order_number in", values, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberNotIn(List<String> values) {
            addCriterion("order_number not in", values, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberBetween(String value1, String value2) {
            addCriterion("order_number between", value1, value2, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberNotBetween(String value1, String value2) {
            addCriterion("order_number not between", value1, value2, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andPassengerInfoIdIsNull() {
            addCriterion("passenger_info_id is null");
            return (Criteria) this;
        }

        public Criteria andPassengerInfoIdIsNotNull() {
            addCriterion("passenger_info_id is not null");
            return (Criteria) this;
        }

        public Criteria andPassengerInfoIdEqualTo(Integer value) {
            addCriterion("passenger_info_id =", value, "passengerInfoId");
            return (Criteria) this;
        }

        public Criteria andPassengerInfoIdNotEqualTo(Integer value) {
            addCriterion("passenger_info_id <>", value, "passengerInfoId");
            return (Criteria) this;
        }

        public Criteria andPassengerInfoIdGreaterThan(Integer value) {
            addCriterion("passenger_info_id >", value, "passengerInfoId");
            return (Criteria) this;
        }

        public Criteria andPassengerInfoIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("passenger_info_id >=", value, "passengerInfoId");
            return (Criteria) this;
        }

        public Criteria andPassengerInfoIdLessThan(Integer value) {
            addCriterion("passenger_info_id <", value, "passengerInfoId");
            return (Criteria) this;
        }

        public Criteria andPassengerInfoIdLessThanOrEqualTo(Integer value) {
            addCriterion("passenger_info_id <=", value, "passengerInfoId");
            return (Criteria) this;
        }

        public Criteria andPassengerInfoIdIn(List<Integer> values) {
            addCriterion("passenger_info_id in", values, "passengerInfoId");
            return (Criteria) this;
        }

        public Criteria andPassengerInfoIdNotIn(List<Integer> values) {
            addCriterion("passenger_info_id not in", values, "passengerInfoId");
            return (Criteria) this;
        }

        public Criteria andPassengerInfoIdBetween(Integer value1, Integer value2) {
            addCriterion("passenger_info_id between", value1, value2, "passengerInfoId");
            return (Criteria) this;
        }

        public Criteria andPassengerInfoIdNotBetween(Integer value1, Integer value2) {
            addCriterion("passenger_info_id not between", value1, value2, "passengerInfoId");
            return (Criteria) this;
        }

        public Criteria andPassengerPhoneIsNull() {
            addCriterion("passenger_phone is null");
            return (Criteria) this;
        }

        public Criteria andPassengerPhoneIsNotNull() {
            addCriterion("passenger_phone is not null");
            return (Criteria) this;
        }

        public Criteria andPassengerPhoneEqualTo(String value) {
            addCriterion("passenger_phone =", value, "passengerPhone");
            return (Criteria) this;
        }

        public Criteria andPassengerPhoneNotEqualTo(String value) {
            addCriterion("passenger_phone <>", value, "passengerPhone");
            return (Criteria) this;
        }

        public Criteria andPassengerPhoneGreaterThan(String value) {
            addCriterion("passenger_phone >", value, "passengerPhone");
            return (Criteria) this;
        }

        public Criteria andPassengerPhoneGreaterThanOrEqualTo(String value) {
            addCriterion("passenger_phone >=", value, "passengerPhone");
            return (Criteria) this;
        }

        public Criteria andPassengerPhoneLessThan(String value) {
            addCriterion("passenger_phone <", value, "passengerPhone");
            return (Criteria) this;
        }

        public Criteria andPassengerPhoneLessThanOrEqualTo(String value) {
            addCriterion("passenger_phone <=", value, "passengerPhone");
            return (Criteria) this;
        }

        public Criteria andPassengerPhoneLike(String value) {
            addCriterion("passenger_phone like", value, "passengerPhone");
            return (Criteria) this;
        }

        public Criteria andPassengerPhoneNotLike(String value) {
            addCriterion("passenger_phone not like", value, "passengerPhone");
            return (Criteria) this;
        }

        public Criteria andPassengerPhoneIn(List<String> values) {
            addCriterion("passenger_phone in", values, "passengerPhone");
            return (Criteria) this;
        }

        public Criteria andPassengerPhoneNotIn(List<String> values) {
            addCriterion("passenger_phone not in", values, "passengerPhone");
            return (Criteria) this;
        }

        public Criteria andPassengerPhoneBetween(String value1, String value2) {
            addCriterion("passenger_phone between", value1, value2, "passengerPhone");
            return (Criteria) this;
        }

        public Criteria andPassengerPhoneNotBetween(String value1, String value2) {
            addCriterion("passenger_phone not between", value1, value2, "passengerPhone");
            return (Criteria) this;
        }

        public Criteria andDeviceCodeIsNull() {
            addCriterion("device_code is null");
            return (Criteria) this;
        }

        public Criteria andDeviceCodeIsNotNull() {
            addCriterion("device_code is not null");
            return (Criteria) this;
        }

        public Criteria andDeviceCodeEqualTo(String value) {
            addCriterion("device_code =", value, "deviceCode");
            return (Criteria) this;
        }

        public Criteria andDeviceCodeNotEqualTo(String value) {
            addCriterion("device_code <>", value, "deviceCode");
            return (Criteria) this;
        }

        public Criteria andDeviceCodeGreaterThan(String value) {
            addCriterion("device_code >", value, "deviceCode");
            return (Criteria) this;
        }

        public Criteria andDeviceCodeGreaterThanOrEqualTo(String value) {
            addCriterion("device_code >=", value, "deviceCode");
            return (Criteria) this;
        }

        public Criteria andDeviceCodeLessThan(String value) {
            addCriterion("device_code <", value, "deviceCode");
            return (Criteria) this;
        }

        public Criteria andDeviceCodeLessThanOrEqualTo(String value) {
            addCriterion("device_code <=", value, "deviceCode");
            return (Criteria) this;
        }

        public Criteria andDeviceCodeLike(String value) {
            addCriterion("device_code like", value, "deviceCode");
            return (Criteria) this;
        }

        public Criteria andDeviceCodeNotLike(String value) {
            addCriterion("device_code not like", value, "deviceCode");
            return (Criteria) this;
        }

        public Criteria andDeviceCodeIn(List<String> values) {
            addCriterion("device_code in", values, "deviceCode");
            return (Criteria) this;
        }

        public Criteria andDeviceCodeNotIn(List<String> values) {
            addCriterion("device_code not in", values, "deviceCode");
            return (Criteria) this;
        }

        public Criteria andDeviceCodeBetween(String value1, String value2) {
            addCriterion("device_code between", value1, value2, "deviceCode");
            return (Criteria) this;
        }

        public Criteria andDeviceCodeNotBetween(String value1, String value2) {
            addCriterion("device_code not between", value1, value2, "deviceCode");
            return (Criteria) this;
        }

        public Criteria andDriverIdIsNull() {
            addCriterion("driver_id is null");
            return (Criteria) this;
        }

        public Criteria andDriverIdIsNotNull() {
            addCriterion("driver_id is not null");
            return (Criteria) this;
        }

        public Criteria andDriverIdEqualTo(Integer value) {
            addCriterion("driver_id =", value, "driverId");
            return (Criteria) this;
        }

        public Criteria andDriverIdNotEqualTo(Integer value) {
            addCriterion("driver_id <>", value, "driverId");
            return (Criteria) this;
        }

        public Criteria andDriverIdGreaterThan(Integer value) {
            addCriterion("driver_id >", value, "driverId");
            return (Criteria) this;
        }

        public Criteria andDriverIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("driver_id >=", value, "driverId");
            return (Criteria) this;
        }

        public Criteria andDriverIdLessThan(Integer value) {
            addCriterion("driver_id <", value, "driverId");
            return (Criteria) this;
        }

        public Criteria andDriverIdLessThanOrEqualTo(Integer value) {
            addCriterion("driver_id <=", value, "driverId");
            return (Criteria) this;
        }

        public Criteria andDriverIdIn(List<Integer> values) {
            addCriterion("driver_id in", values, "driverId");
            return (Criteria) this;
        }

        public Criteria andDriverIdNotIn(List<Integer> values) {
            addCriterion("driver_id not in", values, "driverId");
            return (Criteria) this;
        }

        public Criteria andDriverIdBetween(Integer value1, Integer value2) {
            addCriterion("driver_id between", value1, value2, "driverId");
            return (Criteria) this;
        }

        public Criteria andDriverIdNotBetween(Integer value1, Integer value2) {
            addCriterion("driver_id not between", value1, value2, "driverId");
            return (Criteria) this;
        }

        public Criteria andDriverStatusIsNull() {
            addCriterion("driver_status is null");
            return (Criteria) this;
        }

        public Criteria andDriverStatusIsNotNull() {
            addCriterion("driver_status is not null");
            return (Criteria) this;
        }

        public Criteria andDriverStatusEqualTo(Integer value) {
            addCriterion("driver_status =", value, "driverStatus");
            return (Criteria) this;
        }

        public Criteria andDriverStatusNotEqualTo(Integer value) {
            addCriterion("driver_status <>", value, "driverStatus");
            return (Criteria) this;
        }

        public Criteria andDriverStatusGreaterThan(Integer value) {
            addCriterion("driver_status >", value, "driverStatus");
            return (Criteria) this;
        }

        public Criteria andDriverStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("driver_status >=", value, "driverStatus");
            return (Criteria) this;
        }

        public Criteria andDriverStatusLessThan(Integer value) {
            addCriterion("driver_status <", value, "driverStatus");
            return (Criteria) this;
        }

        public Criteria andDriverStatusLessThanOrEqualTo(Integer value) {
            addCriterion("driver_status <=", value, "driverStatus");
            return (Criteria) this;
        }

        public Criteria andDriverStatusIn(List<Integer> values) {
            addCriterion("driver_status in", values, "driverStatus");
            return (Criteria) this;
        }

        public Criteria andDriverStatusNotIn(List<Integer> values) {
            addCriterion("driver_status not in", values, "driverStatus");
            return (Criteria) this;
        }

        public Criteria andDriverStatusBetween(Integer value1, Integer value2) {
            addCriterion("driver_status between", value1, value2, "driverStatus");
            return (Criteria) this;
        }

        public Criteria andDriverStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("driver_status not between", value1, value2, "driverStatus");
            return (Criteria) this;
        }

        public Criteria andDriverPhoneIsNull() {
            addCriterion("driver_phone is null");
            return (Criteria) this;
        }

        public Criteria andDriverPhoneIsNotNull() {
            addCriterion("driver_phone is not null");
            return (Criteria) this;
        }

        public Criteria andDriverPhoneEqualTo(String value) {
            addCriterion("driver_phone =", value, "driverPhone");
            return (Criteria) this;
        }

        public Criteria andDriverPhoneNotEqualTo(String value) {
            addCriterion("driver_phone <>", value, "driverPhone");
            return (Criteria) this;
        }

        public Criteria andDriverPhoneGreaterThan(String value) {
            addCriterion("driver_phone >", value, "driverPhone");
            return (Criteria) this;
        }

        public Criteria andDriverPhoneGreaterThanOrEqualTo(String value) {
            addCriterion("driver_phone >=", value, "driverPhone");
            return (Criteria) this;
        }

        public Criteria andDriverPhoneLessThan(String value) {
            addCriterion("driver_phone <", value, "driverPhone");
            return (Criteria) this;
        }

        public Criteria andDriverPhoneLessThanOrEqualTo(String value) {
            addCriterion("driver_phone <=", value, "driverPhone");
            return (Criteria) this;
        }

        public Criteria andDriverPhoneLike(String value) {
            addCriterion("driver_phone like", value, "driverPhone");
            return (Criteria) this;
        }

        public Criteria andDriverPhoneNotLike(String value) {
            addCriterion("driver_phone not like", value, "driverPhone");
            return (Criteria) this;
        }

        public Criteria andDriverPhoneIn(List<String> values) {
            addCriterion("driver_phone in", values, "driverPhone");
            return (Criteria) this;
        }

        public Criteria andDriverPhoneNotIn(List<String> values) {
            addCriterion("driver_phone not in", values, "driverPhone");
            return (Criteria) this;
        }

        public Criteria andDriverPhoneBetween(String value1, String value2) {
            addCriterion("driver_phone between", value1, value2, "driverPhone");
            return (Criteria) this;
        }

        public Criteria andDriverPhoneNotBetween(String value1, String value2) {
            addCriterion("driver_phone not between", value1, value2, "driverPhone");
            return (Criteria) this;
        }

        public Criteria andCarIdIsNull() {
            addCriterion("car_id is null");
            return (Criteria) this;
        }

        public Criteria andCarIdIsNotNull() {
            addCriterion("car_id is not null");
            return (Criteria) this;
        }

        public Criteria andCarIdEqualTo(Integer value) {
            addCriterion("car_id =", value, "carId");
            return (Criteria) this;
        }

        public Criteria andCarIdNotEqualTo(Integer value) {
            addCriterion("car_id <>", value, "carId");
            return (Criteria) this;
        }

        public Criteria andCarIdGreaterThan(Integer value) {
            addCriterion("car_id >", value, "carId");
            return (Criteria) this;
        }

        public Criteria andCarIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("car_id >=", value, "carId");
            return (Criteria) this;
        }

        public Criteria andCarIdLessThan(Integer value) {
            addCriterion("car_id <", value, "carId");
            return (Criteria) this;
        }

        public Criteria andCarIdLessThanOrEqualTo(Integer value) {
            addCriterion("car_id <=", value, "carId");
            return (Criteria) this;
        }

        public Criteria andCarIdIn(List<Integer> values) {
            addCriterion("car_id in", values, "carId");
            return (Criteria) this;
        }

        public Criteria andCarIdNotIn(List<Integer> values) {
            addCriterion("car_id not in", values, "carId");
            return (Criteria) this;
        }

        public Criteria andCarIdBetween(Integer value1, Integer value2) {
            addCriterion("car_id between", value1, value2, "carId");
            return (Criteria) this;
        }

        public Criteria andCarIdNotBetween(Integer value1, Integer value2) {
            addCriterion("car_id not between", value1, value2, "carId");
            return (Criteria) this;
        }

        public Criteria andPlateNumberIsNull() {
            addCriterion("plate_number is null");
            return (Criteria) this;
        }

        public Criteria andPlateNumberIsNotNull() {
            addCriterion("plate_number is not null");
            return (Criteria) this;
        }

        public Criteria andPlateNumberEqualTo(String value) {
            addCriterion("plate_number =", value, "plateNumber");
            return (Criteria) this;
        }

        public Criteria andPlateNumberNotEqualTo(String value) {
            addCriterion("plate_number <>", value, "plateNumber");
            return (Criteria) this;
        }

        public Criteria andPlateNumberGreaterThan(String value) {
            addCriterion("plate_number >", value, "plateNumber");
            return (Criteria) this;
        }

        public Criteria andPlateNumberGreaterThanOrEqualTo(String value) {
            addCriterion("plate_number >=", value, "plateNumber");
            return (Criteria) this;
        }

        public Criteria andPlateNumberLessThan(String value) {
            addCriterion("plate_number <", value, "plateNumber");
            return (Criteria) this;
        }

        public Criteria andPlateNumberLessThanOrEqualTo(String value) {
            addCriterion("plate_number <=", value, "plateNumber");
            return (Criteria) this;
        }

        public Criteria andPlateNumberLike(String value) {
            addCriterion("plate_number like", value, "plateNumber");
            return (Criteria) this;
        }

        public Criteria andPlateNumberNotLike(String value) {
            addCriterion("plate_number not like", value, "plateNumber");
            return (Criteria) this;
        }

        public Criteria andPlateNumberIn(List<String> values) {
            addCriterion("plate_number in", values, "plateNumber");
            return (Criteria) this;
        }

        public Criteria andPlateNumberNotIn(List<String> values) {
            addCriterion("plate_number not in", values, "plateNumber");
            return (Criteria) this;
        }

        public Criteria andPlateNumberBetween(String value1, String value2) {
            addCriterion("plate_number between", value1, value2, "plateNumber");
            return (Criteria) this;
        }

        public Criteria andPlateNumberNotBetween(String value1, String value2) {
            addCriterion("plate_number not between", value1, value2, "plateNumber");
            return (Criteria) this;
        }

        public Criteria andUserLongitudeIsNull() {
            addCriterion("user_longitude is null");
            return (Criteria) this;
        }

        public Criteria andUserLongitudeIsNotNull() {
            addCriterion("user_longitude is not null");
            return (Criteria) this;
        }

        public Criteria andUserLongitudeEqualTo(String value) {
            addCriterion("user_longitude =", value, "userLongitude");
            return (Criteria) this;
        }

        public Criteria andUserLongitudeNotEqualTo(String value) {
            addCriterion("user_longitude <>", value, "userLongitude");
            return (Criteria) this;
        }

        public Criteria andUserLongitudeGreaterThan(String value) {
            addCriterion("user_longitude >", value, "userLongitude");
            return (Criteria) this;
        }

        public Criteria andUserLongitudeGreaterThanOrEqualTo(String value) {
            addCriterion("user_longitude >=", value, "userLongitude");
            return (Criteria) this;
        }

        public Criteria andUserLongitudeLessThan(String value) {
            addCriterion("user_longitude <", value, "userLongitude");
            return (Criteria) this;
        }

        public Criteria andUserLongitudeLessThanOrEqualTo(String value) {
            addCriterion("user_longitude <=", value, "userLongitude");
            return (Criteria) this;
        }

        public Criteria andUserLongitudeLike(String value) {
            addCriterion("user_longitude like", value, "userLongitude");
            return (Criteria) this;
        }

        public Criteria andUserLongitudeNotLike(String value) {
            addCriterion("user_longitude not like", value, "userLongitude");
            return (Criteria) this;
        }

        public Criteria andUserLongitudeIn(List<String> values) {
            addCriterion("user_longitude in", values, "userLongitude");
            return (Criteria) this;
        }

        public Criteria andUserLongitudeNotIn(List<String> values) {
            addCriterion("user_longitude not in", values, "userLongitude");
            return (Criteria) this;
        }

        public Criteria andUserLongitudeBetween(String value1, String value2) {
            addCriterion("user_longitude between", value1, value2, "userLongitude");
            return (Criteria) this;
        }

        public Criteria andUserLongitudeNotBetween(String value1, String value2) {
            addCriterion("user_longitude not between", value1, value2, "userLongitude");
            return (Criteria) this;
        }

        public Criteria andUserLatitudeIsNull() {
            addCriterion("user_latitude is null");
            return (Criteria) this;
        }

        public Criteria andUserLatitudeIsNotNull() {
            addCriterion("user_latitude is not null");
            return (Criteria) this;
        }

        public Criteria andUserLatitudeEqualTo(String value) {
            addCriterion("user_latitude =", value, "userLatitude");
            return (Criteria) this;
        }

        public Criteria andUserLatitudeNotEqualTo(String value) {
            addCriterion("user_latitude <>", value, "userLatitude");
            return (Criteria) this;
        }

        public Criteria andUserLatitudeGreaterThan(String value) {
            addCriterion("user_latitude >", value, "userLatitude");
            return (Criteria) this;
        }

        public Criteria andUserLatitudeGreaterThanOrEqualTo(String value) {
            addCriterion("user_latitude >=", value, "userLatitude");
            return (Criteria) this;
        }

        public Criteria andUserLatitudeLessThan(String value) {
            addCriterion("user_latitude <", value, "userLatitude");
            return (Criteria) this;
        }

        public Criteria andUserLatitudeLessThanOrEqualTo(String value) {
            addCriterion("user_latitude <=", value, "userLatitude");
            return (Criteria) this;
        }

        public Criteria andUserLatitudeLike(String value) {
            addCriterion("user_latitude like", value, "userLatitude");
            return (Criteria) this;
        }

        public Criteria andUserLatitudeNotLike(String value) {
            addCriterion("user_latitude not like", value, "userLatitude");
            return (Criteria) this;
        }

        public Criteria andUserLatitudeIn(List<String> values) {
            addCriterion("user_latitude in", values, "userLatitude");
            return (Criteria) this;
        }

        public Criteria andUserLatitudeNotIn(List<String> values) {
            addCriterion("user_latitude not in", values, "userLatitude");
            return (Criteria) this;
        }

        public Criteria andUserLatitudeBetween(String value1, String value2) {
            addCriterion("user_latitude between", value1, value2, "userLatitude");
            return (Criteria) this;
        }

        public Criteria andUserLatitudeNotBetween(String value1, String value2) {
            addCriterion("user_latitude not between", value1, value2, "userLatitude");
            return (Criteria) this;
        }

        public Criteria andStartLongitudeIsNull() {
            addCriterion("start_longitude is null");
            return (Criteria) this;
        }

        public Criteria andStartLongitudeIsNotNull() {
            addCriterion("start_longitude is not null");
            return (Criteria) this;
        }

        public Criteria andStartLongitudeEqualTo(String value) {
            addCriterion("start_longitude =", value, "startLongitude");
            return (Criteria) this;
        }

        public Criteria andStartLongitudeNotEqualTo(String value) {
            addCriterion("start_longitude <>", value, "startLongitude");
            return (Criteria) this;
        }

        public Criteria andStartLongitudeGreaterThan(String value) {
            addCriterion("start_longitude >", value, "startLongitude");
            return (Criteria) this;
        }

        public Criteria andStartLongitudeGreaterThanOrEqualTo(String value) {
            addCriterion("start_longitude >=", value, "startLongitude");
            return (Criteria) this;
        }

        public Criteria andStartLongitudeLessThan(String value) {
            addCriterion("start_longitude <", value, "startLongitude");
            return (Criteria) this;
        }

        public Criteria andStartLongitudeLessThanOrEqualTo(String value) {
            addCriterion("start_longitude <=", value, "startLongitude");
            return (Criteria) this;
        }

        public Criteria andStartLongitudeLike(String value) {
            addCriterion("start_longitude like", value, "startLongitude");
            return (Criteria) this;
        }

        public Criteria andStartLongitudeNotLike(String value) {
            addCriterion("start_longitude not like", value, "startLongitude");
            return (Criteria) this;
        }

        public Criteria andStartLongitudeIn(List<String> values) {
            addCriterion("start_longitude in", values, "startLongitude");
            return (Criteria) this;
        }

        public Criteria andStartLongitudeNotIn(List<String> values) {
            addCriterion("start_longitude not in", values, "startLongitude");
            return (Criteria) this;
        }

        public Criteria andStartLongitudeBetween(String value1, String value2) {
            addCriterion("start_longitude between", value1, value2, "startLongitude");
            return (Criteria) this;
        }

        public Criteria andStartLongitudeNotBetween(String value1, String value2) {
            addCriterion("start_longitude not between", value1, value2, "startLongitude");
            return (Criteria) this;
        }

        public Criteria andStartLatitudeIsNull() {
            addCriterion("start_latitude is null");
            return (Criteria) this;
        }

        public Criteria andStartLatitudeIsNotNull() {
            addCriterion("start_latitude is not null");
            return (Criteria) this;
        }

        public Criteria andStartLatitudeEqualTo(String value) {
            addCriterion("start_latitude =", value, "startLatitude");
            return (Criteria) this;
        }

        public Criteria andStartLatitudeNotEqualTo(String value) {
            addCriterion("start_latitude <>", value, "startLatitude");
            return (Criteria) this;
        }

        public Criteria andStartLatitudeGreaterThan(String value) {
            addCriterion("start_latitude >", value, "startLatitude");
            return (Criteria) this;
        }

        public Criteria andStartLatitudeGreaterThanOrEqualTo(String value) {
            addCriterion("start_latitude >=", value, "startLatitude");
            return (Criteria) this;
        }

        public Criteria andStartLatitudeLessThan(String value) {
            addCriterion("start_latitude <", value, "startLatitude");
            return (Criteria) this;
        }

        public Criteria andStartLatitudeLessThanOrEqualTo(String value) {
            addCriterion("start_latitude <=", value, "startLatitude");
            return (Criteria) this;
        }

        public Criteria andStartLatitudeLike(String value) {
            addCriterion("start_latitude like", value, "startLatitude");
            return (Criteria) this;
        }

        public Criteria andStartLatitudeNotLike(String value) {
            addCriterion("start_latitude not like", value, "startLatitude");
            return (Criteria) this;
        }

        public Criteria andStartLatitudeIn(List<String> values) {
            addCriterion("start_latitude in", values, "startLatitude");
            return (Criteria) this;
        }

        public Criteria andStartLatitudeNotIn(List<String> values) {
            addCriterion("start_latitude not in", values, "startLatitude");
            return (Criteria) this;
        }

        public Criteria andStartLatitudeBetween(String value1, String value2) {
            addCriterion("start_latitude between", value1, value2, "startLatitude");
            return (Criteria) this;
        }

        public Criteria andStartLatitudeNotBetween(String value1, String value2) {
            addCriterion("start_latitude not between", value1, value2, "startLatitude");
            return (Criteria) this;
        }

        public Criteria andStartAddressIsNull() {
            addCriterion("start_address is null");
            return (Criteria) this;
        }

        public Criteria andStartAddressIsNotNull() {
            addCriterion("start_address is not null");
            return (Criteria) this;
        }

        public Criteria andStartAddressEqualTo(String value) {
            addCriterion("start_address =", value, "startAddress");
            return (Criteria) this;
        }

        public Criteria andStartAddressNotEqualTo(String value) {
            addCriterion("start_address <>", value, "startAddress");
            return (Criteria) this;
        }

        public Criteria andStartAddressGreaterThan(String value) {
            addCriterion("start_address >", value, "startAddress");
            return (Criteria) this;
        }

        public Criteria andStartAddressGreaterThanOrEqualTo(String value) {
            addCriterion("start_address >=", value, "startAddress");
            return (Criteria) this;
        }

        public Criteria andStartAddressLessThan(String value) {
            addCriterion("start_address <", value, "startAddress");
            return (Criteria) this;
        }

        public Criteria andStartAddressLessThanOrEqualTo(String value) {
            addCriterion("start_address <=", value, "startAddress");
            return (Criteria) this;
        }

        public Criteria andStartAddressLike(String value) {
            addCriterion("start_address like", value, "startAddress");
            return (Criteria) this;
        }

        public Criteria andStartAddressNotLike(String value) {
            addCriterion("start_address not like", value, "startAddress");
            return (Criteria) this;
        }

        public Criteria andStartAddressIn(List<String> values) {
            addCriterion("start_address in", values, "startAddress");
            return (Criteria) this;
        }

        public Criteria andStartAddressNotIn(List<String> values) {
            addCriterion("start_address not in", values, "startAddress");
            return (Criteria) this;
        }

        public Criteria andStartAddressBetween(String value1, String value2) {
            addCriterion("start_address between", value1, value2, "startAddress");
            return (Criteria) this;
        }

        public Criteria andStartAddressNotBetween(String value1, String value2) {
            addCriterion("start_address not between", value1, value2, "startAddress");
            return (Criteria) this;
        }

        public Criteria andEndAddressIsNull() {
            addCriterion("end_address is null");
            return (Criteria) this;
        }

        public Criteria andEndAddressIsNotNull() {
            addCriterion("end_address is not null");
            return (Criteria) this;
        }

        public Criteria andEndAddressEqualTo(String value) {
            addCriterion("end_address =", value, "endAddress");
            return (Criteria) this;
        }

        public Criteria andEndAddressNotEqualTo(String value) {
            addCriterion("end_address <>", value, "endAddress");
            return (Criteria) this;
        }

        public Criteria andEndAddressGreaterThan(String value) {
            addCriterion("end_address >", value, "endAddress");
            return (Criteria) this;
        }

        public Criteria andEndAddressGreaterThanOrEqualTo(String value) {
            addCriterion("end_address >=", value, "endAddress");
            return (Criteria) this;
        }

        public Criteria andEndAddressLessThan(String value) {
            addCriterion("end_address <", value, "endAddress");
            return (Criteria) this;
        }

        public Criteria andEndAddressLessThanOrEqualTo(String value) {
            addCriterion("end_address <=", value, "endAddress");
            return (Criteria) this;
        }

        public Criteria andEndAddressLike(String value) {
            addCriterion("end_address like", value, "endAddress");
            return (Criteria) this;
        }

        public Criteria andEndAddressNotLike(String value) {
            addCriterion("end_address not like", value, "endAddress");
            return (Criteria) this;
        }

        public Criteria andEndAddressIn(List<String> values) {
            addCriterion("end_address in", values, "endAddress");
            return (Criteria) this;
        }

        public Criteria andEndAddressNotIn(List<String> values) {
            addCriterion("end_address not in", values, "endAddress");
            return (Criteria) this;
        }

        public Criteria andEndAddressBetween(String value1, String value2) {
            addCriterion("end_address between", value1, value2, "endAddress");
            return (Criteria) this;
        }

        public Criteria andEndAddressNotBetween(String value1, String value2) {
            addCriterion("end_address not between", value1, value2, "endAddress");
            return (Criteria) this;
        }

        public Criteria andStartTimeIsNull() {
            addCriterion("start_time is null");
            return (Criteria) this;
        }

        public Criteria andStartTimeIsNotNull() {
            addCriterion("start_time is not null");
            return (Criteria) this;
        }

        public Criteria andStartTimeEqualTo(Date value) {
            addCriterion("start_time =", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotEqualTo(Date value) {
            addCriterion("start_time <>", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeGreaterThan(Date value) {
            addCriterion("start_time >", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("start_time >=", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeLessThan(Date value) {
            addCriterion("start_time <", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeLessThanOrEqualTo(Date value) {
            addCriterion("start_time <=", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeIn(List<Date> values) {
            addCriterion("start_time in", values, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotIn(List<Date> values) {
            addCriterion("start_time not in", values, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeBetween(Date value1, Date value2) {
            addCriterion("start_time between", value1, value2, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotBetween(Date value1, Date value2) {
            addCriterion("start_time not between", value1, value2, "startTime");
            return (Criteria) this;
        }

        public Criteria andOrderStartTimeIsNull() {
            addCriterion("order_start_time is null");
            return (Criteria) this;
        }

        public Criteria andOrderStartTimeIsNotNull() {
            addCriterion("order_start_time is not null");
            return (Criteria) this;
        }

        public Criteria andOrderStartTimeEqualTo(Date value) {
            addCriterion("order_start_time =", value, "orderStartTime");
            return (Criteria) this;
        }

        public Criteria andOrderStartTimeNotEqualTo(Date value) {
            addCriterion("order_start_time <>", value, "orderStartTime");
            return (Criteria) this;
        }

        public Criteria andOrderStartTimeGreaterThan(Date value) {
            addCriterion("order_start_time >", value, "orderStartTime");
            return (Criteria) this;
        }

        public Criteria andOrderStartTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("order_start_time >=", value, "orderStartTime");
            return (Criteria) this;
        }

        public Criteria andOrderStartTimeLessThan(Date value) {
            addCriterion("order_start_time <", value, "orderStartTime");
            return (Criteria) this;
        }

        public Criteria andOrderStartTimeLessThanOrEqualTo(Date value) {
            addCriterion("order_start_time <=", value, "orderStartTime");
            return (Criteria) this;
        }

        public Criteria andOrderStartTimeIn(List<Date> values) {
            addCriterion("order_start_time in", values, "orderStartTime");
            return (Criteria) this;
        }

        public Criteria andOrderStartTimeNotIn(List<Date> values) {
            addCriterion("order_start_time not in", values, "orderStartTime");
            return (Criteria) this;
        }

        public Criteria andOrderStartTimeBetween(Date value1, Date value2) {
            addCriterion("order_start_time between", value1, value2, "orderStartTime");
            return (Criteria) this;
        }

        public Criteria andOrderStartTimeNotBetween(Date value1, Date value2) {
            addCriterion("order_start_time not between", value1, value2, "orderStartTime");
            return (Criteria) this;
        }

        public Criteria andEndLongitudeIsNull() {
            addCriterion("end_longitude is null");
            return (Criteria) this;
        }

        public Criteria andEndLongitudeIsNotNull() {
            addCriterion("end_longitude is not null");
            return (Criteria) this;
        }

        public Criteria andEndLongitudeEqualTo(String value) {
            addCriterion("end_longitude =", value, "endLongitude");
            return (Criteria) this;
        }

        public Criteria andEndLongitudeNotEqualTo(String value) {
            addCriterion("end_longitude <>", value, "endLongitude");
            return (Criteria) this;
        }

        public Criteria andEndLongitudeGreaterThan(String value) {
            addCriterion("end_longitude >", value, "endLongitude");
            return (Criteria) this;
        }

        public Criteria andEndLongitudeGreaterThanOrEqualTo(String value) {
            addCriterion("end_longitude >=", value, "endLongitude");
            return (Criteria) this;
        }

        public Criteria andEndLongitudeLessThan(String value) {
            addCriterion("end_longitude <", value, "endLongitude");
            return (Criteria) this;
        }

        public Criteria andEndLongitudeLessThanOrEqualTo(String value) {
            addCriterion("end_longitude <=", value, "endLongitude");
            return (Criteria) this;
        }

        public Criteria andEndLongitudeLike(String value) {
            addCriterion("end_longitude like", value, "endLongitude");
            return (Criteria) this;
        }

        public Criteria andEndLongitudeNotLike(String value) {
            addCriterion("end_longitude not like", value, "endLongitude");
            return (Criteria) this;
        }

        public Criteria andEndLongitudeIn(List<String> values) {
            addCriterion("end_longitude in", values, "endLongitude");
            return (Criteria) this;
        }

        public Criteria andEndLongitudeNotIn(List<String> values) {
            addCriterion("end_longitude not in", values, "endLongitude");
            return (Criteria) this;
        }

        public Criteria andEndLongitudeBetween(String value1, String value2) {
            addCriterion("end_longitude between", value1, value2, "endLongitude");
            return (Criteria) this;
        }

        public Criteria andEndLongitudeNotBetween(String value1, String value2) {
            addCriterion("end_longitude not between", value1, value2, "endLongitude");
            return (Criteria) this;
        }

        public Criteria andEndLatitudeIsNull() {
            addCriterion("end_latitude is null");
            return (Criteria) this;
        }

        public Criteria andEndLatitudeIsNotNull() {
            addCriterion("end_latitude is not null");
            return (Criteria) this;
        }

        public Criteria andEndLatitudeEqualTo(String value) {
            addCriterion("end_latitude =", value, "endLatitude");
            return (Criteria) this;
        }

        public Criteria andEndLatitudeNotEqualTo(String value) {
            addCriterion("end_latitude <>", value, "endLatitude");
            return (Criteria) this;
        }

        public Criteria andEndLatitudeGreaterThan(String value) {
            addCriterion("end_latitude >", value, "endLatitude");
            return (Criteria) this;
        }

        public Criteria andEndLatitudeGreaterThanOrEqualTo(String value) {
            addCriterion("end_latitude >=", value, "endLatitude");
            return (Criteria) this;
        }

        public Criteria andEndLatitudeLessThan(String value) {
            addCriterion("end_latitude <", value, "endLatitude");
            return (Criteria) this;
        }

        public Criteria andEndLatitudeLessThanOrEqualTo(String value) {
            addCriterion("end_latitude <=", value, "endLatitude");
            return (Criteria) this;
        }

        public Criteria andEndLatitudeLike(String value) {
            addCriterion("end_latitude like", value, "endLatitude");
            return (Criteria) this;
        }

        public Criteria andEndLatitudeNotLike(String value) {
            addCriterion("end_latitude not like", value, "endLatitude");
            return (Criteria) this;
        }

        public Criteria andEndLatitudeIn(List<String> values) {
            addCriterion("end_latitude in", values, "endLatitude");
            return (Criteria) this;
        }

        public Criteria andEndLatitudeNotIn(List<String> values) {
            addCriterion("end_latitude not in", values, "endLatitude");
            return (Criteria) this;
        }

        public Criteria andEndLatitudeBetween(String value1, String value2) {
            addCriterion("end_latitude between", value1, value2, "endLatitude");
            return (Criteria) this;
        }

        public Criteria andEndLatitudeNotBetween(String value1, String value2) {
            addCriterion("end_latitude not between", value1, value2, "endLatitude");
            return (Criteria) this;
        }

        public Criteria andDriverGrabTimeIsNull() {
            addCriterion("driver_grab_time is null");
            return (Criteria) this;
        }

        public Criteria andDriverGrabTimeIsNotNull() {
            addCriterion("driver_grab_time is not null");
            return (Criteria) this;
        }

        public Criteria andDriverGrabTimeEqualTo(Date value) {
            addCriterion("driver_grab_time =", value, "driverGrabTime");
            return (Criteria) this;
        }

        public Criteria andDriverGrabTimeNotEqualTo(Date value) {
            addCriterion("driver_grab_time <>", value, "driverGrabTime");
            return (Criteria) this;
        }

        public Criteria andDriverGrabTimeGreaterThan(Date value) {
            addCriterion("driver_grab_time >", value, "driverGrabTime");
            return (Criteria) this;
        }

        public Criteria andDriverGrabTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("driver_grab_time >=", value, "driverGrabTime");
            return (Criteria) this;
        }

        public Criteria andDriverGrabTimeLessThan(Date value) {
            addCriterion("driver_grab_time <", value, "driverGrabTime");
            return (Criteria) this;
        }

        public Criteria andDriverGrabTimeLessThanOrEqualTo(Date value) {
            addCriterion("driver_grab_time <=", value, "driverGrabTime");
            return (Criteria) this;
        }

        public Criteria andDriverGrabTimeIn(List<Date> values) {
            addCriterion("driver_grab_time in", values, "driverGrabTime");
            return (Criteria) this;
        }

        public Criteria andDriverGrabTimeNotIn(List<Date> values) {
            addCriterion("driver_grab_time not in", values, "driverGrabTime");
            return (Criteria) this;
        }

        public Criteria andDriverGrabTimeBetween(Date value1, Date value2) {
            addCriterion("driver_grab_time between", value1, value2, "driverGrabTime");
            return (Criteria) this;
        }

        public Criteria andDriverGrabTimeNotBetween(Date value1, Date value2) {
            addCriterion("driver_grab_time not between", value1, value2, "driverGrabTime");
            return (Criteria) this;
        }

        public Criteria andDriverStartTimeIsNull() {
            addCriterion("driver_start_time is null");
            return (Criteria) this;
        }

        public Criteria andDriverStartTimeIsNotNull() {
            addCriterion("driver_start_time is not null");
            return (Criteria) this;
        }

        public Criteria andDriverStartTimeEqualTo(Date value) {
            addCriterion("driver_start_time =", value, "driverStartTime");
            return (Criteria) this;
        }

        public Criteria andDriverStartTimeNotEqualTo(Date value) {
            addCriterion("driver_start_time <>", value, "driverStartTime");
            return (Criteria) this;
        }

        public Criteria andDriverStartTimeGreaterThan(Date value) {
            addCriterion("driver_start_time >", value, "driverStartTime");
            return (Criteria) this;
        }

        public Criteria andDriverStartTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("driver_start_time >=", value, "driverStartTime");
            return (Criteria) this;
        }

        public Criteria andDriverStartTimeLessThan(Date value) {
            addCriterion("driver_start_time <", value, "driverStartTime");
            return (Criteria) this;
        }

        public Criteria andDriverStartTimeLessThanOrEqualTo(Date value) {
            addCriterion("driver_start_time <=", value, "driverStartTime");
            return (Criteria) this;
        }

        public Criteria andDriverStartTimeIn(List<Date> values) {
            addCriterion("driver_start_time in", values, "driverStartTime");
            return (Criteria) this;
        }

        public Criteria andDriverStartTimeNotIn(List<Date> values) {
            addCriterion("driver_start_time not in", values, "driverStartTime");
            return (Criteria) this;
        }

        public Criteria andDriverStartTimeBetween(Date value1, Date value2) {
            addCriterion("driver_start_time between", value1, value2, "driverStartTime");
            return (Criteria) this;
        }

        public Criteria andDriverStartTimeNotBetween(Date value1, Date value2) {
            addCriterion("driver_start_time not between", value1, value2, "driverStartTime");
            return (Criteria) this;
        }

        public Criteria andDriverArrivedTimeIsNull() {
            addCriterion("driver_arrived_time is null");
            return (Criteria) this;
        }

        public Criteria andDriverArrivedTimeIsNotNull() {
            addCriterion("driver_arrived_time is not null");
            return (Criteria) this;
        }

        public Criteria andDriverArrivedTimeEqualTo(Date value) {
            addCriterion("driver_arrived_time =", value, "driverArrivedTime");
            return (Criteria) this;
        }

        public Criteria andDriverArrivedTimeNotEqualTo(Date value) {
            addCriterion("driver_arrived_time <>", value, "driverArrivedTime");
            return (Criteria) this;
        }

        public Criteria andDriverArrivedTimeGreaterThan(Date value) {
            addCriterion("driver_arrived_time >", value, "driverArrivedTime");
            return (Criteria) this;
        }

        public Criteria andDriverArrivedTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("driver_arrived_time >=", value, "driverArrivedTime");
            return (Criteria) this;
        }

        public Criteria andDriverArrivedTimeLessThan(Date value) {
            addCriterion("driver_arrived_time <", value, "driverArrivedTime");
            return (Criteria) this;
        }

        public Criteria andDriverArrivedTimeLessThanOrEqualTo(Date value) {
            addCriterion("driver_arrived_time <=", value, "driverArrivedTime");
            return (Criteria) this;
        }

        public Criteria andDriverArrivedTimeIn(List<Date> values) {
            addCriterion("driver_arrived_time in", values, "driverArrivedTime");
            return (Criteria) this;
        }

        public Criteria andDriverArrivedTimeNotIn(List<Date> values) {
            addCriterion("driver_arrived_time not in", values, "driverArrivedTime");
            return (Criteria) this;
        }

        public Criteria andDriverArrivedTimeBetween(Date value1, Date value2) {
            addCriterion("driver_arrived_time between", value1, value2, "driverArrivedTime");
            return (Criteria) this;
        }

        public Criteria andDriverArrivedTimeNotBetween(Date value1, Date value2) {
            addCriterion("driver_arrived_time not between", value1, value2, "driverArrivedTime");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerLongitudeIsNull() {
            addCriterion("pick_up_passenger_longitude is null");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerLongitudeIsNotNull() {
            addCriterion("pick_up_passenger_longitude is not null");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerLongitudeEqualTo(String value) {
            addCriterion("pick_up_passenger_longitude =", value, "pickUpPassengerLongitude");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerLongitudeNotEqualTo(String value) {
            addCriterion("pick_up_passenger_longitude <>", value, "pickUpPassengerLongitude");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerLongitudeGreaterThan(String value) {
            addCriterion("pick_up_passenger_longitude >", value, "pickUpPassengerLongitude");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerLongitudeGreaterThanOrEqualTo(String value) {
            addCriterion("pick_up_passenger_longitude >=", value, "pickUpPassengerLongitude");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerLongitudeLessThan(String value) {
            addCriterion("pick_up_passenger_longitude <", value, "pickUpPassengerLongitude");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerLongitudeLessThanOrEqualTo(String value) {
            addCriterion("pick_up_passenger_longitude <=", value, "pickUpPassengerLongitude");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerLongitudeLike(String value) {
            addCriterion("pick_up_passenger_longitude like", value, "pickUpPassengerLongitude");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerLongitudeNotLike(String value) {
            addCriterion("pick_up_passenger_longitude not like", value, "pickUpPassengerLongitude");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerLongitudeIn(List<String> values) {
            addCriterion("pick_up_passenger_longitude in", values, "pickUpPassengerLongitude");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerLongitudeNotIn(List<String> values) {
            addCriterion("pick_up_passenger_longitude not in", values, "pickUpPassengerLongitude");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerLongitudeBetween(String value1, String value2) {
            addCriterion("pick_up_passenger_longitude between", value1, value2, "pickUpPassengerLongitude");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerLongitudeNotBetween(String value1, String value2) {
            addCriterion("pick_up_passenger_longitude not between", value1, value2, "pickUpPassengerLongitude");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerLatitudeIsNull() {
            addCriterion("pick_up_passenger_latitude is null");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerLatitudeIsNotNull() {
            addCriterion("pick_up_passenger_latitude is not null");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerLatitudeEqualTo(String value) {
            addCriterion("pick_up_passenger_latitude =", value, "pickUpPassengerLatitude");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerLatitudeNotEqualTo(String value) {
            addCriterion("pick_up_passenger_latitude <>", value, "pickUpPassengerLatitude");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerLatitudeGreaterThan(String value) {
            addCriterion("pick_up_passenger_latitude >", value, "pickUpPassengerLatitude");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerLatitudeGreaterThanOrEqualTo(String value) {
            addCriterion("pick_up_passenger_latitude >=", value, "pickUpPassengerLatitude");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerLatitudeLessThan(String value) {
            addCriterion("pick_up_passenger_latitude <", value, "pickUpPassengerLatitude");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerLatitudeLessThanOrEqualTo(String value) {
            addCriterion("pick_up_passenger_latitude <=", value, "pickUpPassengerLatitude");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerLatitudeLike(String value) {
            addCriterion("pick_up_passenger_latitude like", value, "pickUpPassengerLatitude");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerLatitudeNotLike(String value) {
            addCriterion("pick_up_passenger_latitude not like", value, "pickUpPassengerLatitude");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerLatitudeIn(List<String> values) {
            addCriterion("pick_up_passenger_latitude in", values, "pickUpPassengerLatitude");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerLatitudeNotIn(List<String> values) {
            addCriterion("pick_up_passenger_latitude not in", values, "pickUpPassengerLatitude");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerLatitudeBetween(String value1, String value2) {
            addCriterion("pick_up_passenger_latitude between", value1, value2, "pickUpPassengerLatitude");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerLatitudeNotBetween(String value1, String value2) {
            addCriterion("pick_up_passenger_latitude not between", value1, value2, "pickUpPassengerLatitude");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerAddressIsNull() {
            addCriterion("pick_up_passenger_address is null");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerAddressIsNotNull() {
            addCriterion("pick_up_passenger_address is not null");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerAddressEqualTo(String value) {
            addCriterion("pick_up_passenger_address =", value, "pickUpPassengerAddress");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerAddressNotEqualTo(String value) {
            addCriterion("pick_up_passenger_address <>", value, "pickUpPassengerAddress");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerAddressGreaterThan(String value) {
            addCriterion("pick_up_passenger_address >", value, "pickUpPassengerAddress");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerAddressGreaterThanOrEqualTo(String value) {
            addCriterion("pick_up_passenger_address >=", value, "pickUpPassengerAddress");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerAddressLessThan(String value) {
            addCriterion("pick_up_passenger_address <", value, "pickUpPassengerAddress");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerAddressLessThanOrEqualTo(String value) {
            addCriterion("pick_up_passenger_address <=", value, "pickUpPassengerAddress");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerAddressLike(String value) {
            addCriterion("pick_up_passenger_address like", value, "pickUpPassengerAddress");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerAddressNotLike(String value) {
            addCriterion("pick_up_passenger_address not like", value, "pickUpPassengerAddress");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerAddressIn(List<String> values) {
            addCriterion("pick_up_passenger_address in", values, "pickUpPassengerAddress");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerAddressNotIn(List<String> values) {
            addCriterion("pick_up_passenger_address not in", values, "pickUpPassengerAddress");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerAddressBetween(String value1, String value2) {
            addCriterion("pick_up_passenger_address between", value1, value2, "pickUpPassengerAddress");
            return (Criteria) this;
        }

        public Criteria andPickUpPassengerAddressNotBetween(String value1, String value2) {
            addCriterion("pick_up_passenger_address not between", value1, value2, "pickUpPassengerAddress");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerTimeIsNull() {
            addCriterion("receive_passenger_time is null");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerTimeIsNotNull() {
            addCriterion("receive_passenger_time is not null");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerTimeEqualTo(Date value) {
            addCriterion("receive_passenger_time =", value, "receivePassengerTime");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerTimeNotEqualTo(Date value) {
            addCriterion("receive_passenger_time <>", value, "receivePassengerTime");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerTimeGreaterThan(Date value) {
            addCriterion("receive_passenger_time >", value, "receivePassengerTime");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("receive_passenger_time >=", value, "receivePassengerTime");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerTimeLessThan(Date value) {
            addCriterion("receive_passenger_time <", value, "receivePassengerTime");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerTimeLessThanOrEqualTo(Date value) {
            addCriterion("receive_passenger_time <=", value, "receivePassengerTime");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerTimeIn(List<Date> values) {
            addCriterion("receive_passenger_time in", values, "receivePassengerTime");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerTimeNotIn(List<Date> values) {
            addCriterion("receive_passenger_time not in", values, "receivePassengerTime");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerTimeBetween(Date value1, Date value2) {
            addCriterion("receive_passenger_time between", value1, value2, "receivePassengerTime");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerTimeNotBetween(Date value1, Date value2) {
            addCriterion("receive_passenger_time not between", value1, value2, "receivePassengerTime");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerLongitudeIsNull() {
            addCriterion("receive_passenger_longitude is null");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerLongitudeIsNotNull() {
            addCriterion("receive_passenger_longitude is not null");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerLongitudeEqualTo(String value) {
            addCriterion("receive_passenger_longitude =", value, "receivePassengerLongitude");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerLongitudeNotEqualTo(String value) {
            addCriterion("receive_passenger_longitude <>", value, "receivePassengerLongitude");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerLongitudeGreaterThan(String value) {
            addCriterion("receive_passenger_longitude >", value, "receivePassengerLongitude");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerLongitudeGreaterThanOrEqualTo(String value) {
            addCriterion("receive_passenger_longitude >=", value, "receivePassengerLongitude");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerLongitudeLessThan(String value) {
            addCriterion("receive_passenger_longitude <", value, "receivePassengerLongitude");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerLongitudeLessThanOrEqualTo(String value) {
            addCriterion("receive_passenger_longitude <=", value, "receivePassengerLongitude");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerLongitudeLike(String value) {
            addCriterion("receive_passenger_longitude like", value, "receivePassengerLongitude");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerLongitudeNotLike(String value) {
            addCriterion("receive_passenger_longitude not like", value, "receivePassengerLongitude");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerLongitudeIn(List<String> values) {
            addCriterion("receive_passenger_longitude in", values, "receivePassengerLongitude");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerLongitudeNotIn(List<String> values) {
            addCriterion("receive_passenger_longitude not in", values, "receivePassengerLongitude");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerLongitudeBetween(String value1, String value2) {
            addCriterion("receive_passenger_longitude between", value1, value2, "receivePassengerLongitude");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerLongitudeNotBetween(String value1, String value2) {
            addCriterion("receive_passenger_longitude not between", value1, value2, "receivePassengerLongitude");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerLatitudeIsNull() {
            addCriterion("receive_passenger_latitude is null");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerLatitudeIsNotNull() {
            addCriterion("receive_passenger_latitude is not null");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerLatitudeEqualTo(String value) {
            addCriterion("receive_passenger_latitude =", value, "receivePassengerLatitude");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerLatitudeNotEqualTo(String value) {
            addCriterion("receive_passenger_latitude <>", value, "receivePassengerLatitude");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerLatitudeGreaterThan(String value) {
            addCriterion("receive_passenger_latitude >", value, "receivePassengerLatitude");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerLatitudeGreaterThanOrEqualTo(String value) {
            addCriterion("receive_passenger_latitude >=", value, "receivePassengerLatitude");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerLatitudeLessThan(String value) {
            addCriterion("receive_passenger_latitude <", value, "receivePassengerLatitude");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerLatitudeLessThanOrEqualTo(String value) {
            addCriterion("receive_passenger_latitude <=", value, "receivePassengerLatitude");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerLatitudeLike(String value) {
            addCriterion("receive_passenger_latitude like", value, "receivePassengerLatitude");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerLatitudeNotLike(String value) {
            addCriterion("receive_passenger_latitude not like", value, "receivePassengerLatitude");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerLatitudeIn(List<String> values) {
            addCriterion("receive_passenger_latitude in", values, "receivePassengerLatitude");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerLatitudeNotIn(List<String> values) {
            addCriterion("receive_passenger_latitude not in", values, "receivePassengerLatitude");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerLatitudeBetween(String value1, String value2) {
            addCriterion("receive_passenger_latitude between", value1, value2, "receivePassengerLatitude");
            return (Criteria) this;
        }

        public Criteria andReceivePassengerLatitudeNotBetween(String value1, String value2) {
            addCriterion("receive_passenger_latitude not between", value1, value2, "receivePassengerLatitude");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffTimeIsNull() {
            addCriterion("passenger_getoff_time is null");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffTimeIsNotNull() {
            addCriterion("passenger_getoff_time is not null");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffTimeEqualTo(Date value) {
            addCriterion("passenger_getoff_time =", value, "passengerGetoffTime");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffTimeNotEqualTo(Date value) {
            addCriterion("passenger_getoff_time <>", value, "passengerGetoffTime");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffTimeGreaterThan(Date value) {
            addCriterion("passenger_getoff_time >", value, "passengerGetoffTime");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("passenger_getoff_time >=", value, "passengerGetoffTime");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffTimeLessThan(Date value) {
            addCriterion("passenger_getoff_time <", value, "passengerGetoffTime");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffTimeLessThanOrEqualTo(Date value) {
            addCriterion("passenger_getoff_time <=", value, "passengerGetoffTime");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffTimeIn(List<Date> values) {
            addCriterion("passenger_getoff_time in", values, "passengerGetoffTime");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffTimeNotIn(List<Date> values) {
            addCriterion("passenger_getoff_time not in", values, "passengerGetoffTime");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffTimeBetween(Date value1, Date value2) {
            addCriterion("passenger_getoff_time between", value1, value2, "passengerGetoffTime");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffTimeNotBetween(Date value1, Date value2) {
            addCriterion("passenger_getoff_time not between", value1, value2, "passengerGetoffTime");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffLongitudeIsNull() {
            addCriterion("passenger_getoff_longitude is null");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffLongitudeIsNotNull() {
            addCriterion("passenger_getoff_longitude is not null");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffLongitudeEqualTo(String value) {
            addCriterion("passenger_getoff_longitude =", value, "passengerGetoffLongitude");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffLongitudeNotEqualTo(String value) {
            addCriterion("passenger_getoff_longitude <>", value, "passengerGetoffLongitude");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffLongitudeGreaterThan(String value) {
            addCriterion("passenger_getoff_longitude >", value, "passengerGetoffLongitude");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffLongitudeGreaterThanOrEqualTo(String value) {
            addCriterion("passenger_getoff_longitude >=", value, "passengerGetoffLongitude");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffLongitudeLessThan(String value) {
            addCriterion("passenger_getoff_longitude <", value, "passengerGetoffLongitude");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffLongitudeLessThanOrEqualTo(String value) {
            addCriterion("passenger_getoff_longitude <=", value, "passengerGetoffLongitude");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffLongitudeLike(String value) {
            addCriterion("passenger_getoff_longitude like", value, "passengerGetoffLongitude");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffLongitudeNotLike(String value) {
            addCriterion("passenger_getoff_longitude not like", value, "passengerGetoffLongitude");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffLongitudeIn(List<String> values) {
            addCriterion("passenger_getoff_longitude in", values, "passengerGetoffLongitude");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffLongitudeNotIn(List<String> values) {
            addCriterion("passenger_getoff_longitude not in", values, "passengerGetoffLongitude");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffLongitudeBetween(String value1, String value2) {
            addCriterion("passenger_getoff_longitude between", value1, value2, "passengerGetoffLongitude");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffLongitudeNotBetween(String value1, String value2) {
            addCriterion("passenger_getoff_longitude not between", value1, value2, "passengerGetoffLongitude");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffLatitudeIsNull() {
            addCriterion("passenger_getoff_latitude is null");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffLatitudeIsNotNull() {
            addCriterion("passenger_getoff_latitude is not null");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffLatitudeEqualTo(String value) {
            addCriterion("passenger_getoff_latitude =", value, "passengerGetoffLatitude");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffLatitudeNotEqualTo(String value) {
            addCriterion("passenger_getoff_latitude <>", value, "passengerGetoffLatitude");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffLatitudeGreaterThan(String value) {
            addCriterion("passenger_getoff_latitude >", value, "passengerGetoffLatitude");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffLatitudeGreaterThanOrEqualTo(String value) {
            addCriterion("passenger_getoff_latitude >=", value, "passengerGetoffLatitude");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffLatitudeLessThan(String value) {
            addCriterion("passenger_getoff_latitude <", value, "passengerGetoffLatitude");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffLatitudeLessThanOrEqualTo(String value) {
            addCriterion("passenger_getoff_latitude <=", value, "passengerGetoffLatitude");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffLatitudeLike(String value) {
            addCriterion("passenger_getoff_latitude like", value, "passengerGetoffLatitude");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffLatitudeNotLike(String value) {
            addCriterion("passenger_getoff_latitude not like", value, "passengerGetoffLatitude");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffLatitudeIn(List<String> values) {
            addCriterion("passenger_getoff_latitude in", values, "passengerGetoffLatitude");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffLatitudeNotIn(List<String> values) {
            addCriterion("passenger_getoff_latitude not in", values, "passengerGetoffLatitude");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffLatitudeBetween(String value1, String value2) {
            addCriterion("passenger_getoff_latitude between", value1, value2, "passengerGetoffLatitude");
            return (Criteria) this;
        }

        public Criteria andPassengerGetoffLatitudeNotBetween(String value1, String value2) {
            addCriterion("passenger_getoff_latitude not between", value1, value2, "passengerGetoffLatitude");
            return (Criteria) this;
        }

        public Criteria andOtherNameIsNull() {
            addCriterion("other_name is null");
            return (Criteria) this;
        }

        public Criteria andOtherNameIsNotNull() {
            addCriterion("other_name is not null");
            return (Criteria) this;
        }

        public Criteria andOtherNameEqualTo(String value) {
            addCriterion("other_name =", value, "otherName");
            return (Criteria) this;
        }

        public Criteria andOtherNameNotEqualTo(String value) {
            addCriterion("other_name <>", value, "otherName");
            return (Criteria) this;
        }

        public Criteria andOtherNameGreaterThan(String value) {
            addCriterion("other_name >", value, "otherName");
            return (Criteria) this;
        }

        public Criteria andOtherNameGreaterThanOrEqualTo(String value) {
            addCriterion("other_name >=", value, "otherName");
            return (Criteria) this;
        }

        public Criteria andOtherNameLessThan(String value) {
            addCriterion("other_name <", value, "otherName");
            return (Criteria) this;
        }

        public Criteria andOtherNameLessThanOrEqualTo(String value) {
            addCriterion("other_name <=", value, "otherName");
            return (Criteria) this;
        }

        public Criteria andOtherNameLike(String value) {
            addCriterion("other_name like", value, "otherName");
            return (Criteria) this;
        }

        public Criteria andOtherNameNotLike(String value) {
            addCriterion("other_name not like", value, "otherName");
            return (Criteria) this;
        }

        public Criteria andOtherNameIn(List<String> values) {
            addCriterion("other_name in", values, "otherName");
            return (Criteria) this;
        }

        public Criteria andOtherNameNotIn(List<String> values) {
            addCriterion("other_name not in", values, "otherName");
            return (Criteria) this;
        }

        public Criteria andOtherNameBetween(String value1, String value2) {
            addCriterion("other_name between", value1, value2, "otherName");
            return (Criteria) this;
        }

        public Criteria andOtherNameNotBetween(String value1, String value2) {
            addCriterion("other_name not between", value1, value2, "otherName");
            return (Criteria) this;
        }

        public Criteria andOtherPhoneIsNull() {
            addCriterion("other_phone is null");
            return (Criteria) this;
        }

        public Criteria andOtherPhoneIsNotNull() {
            addCriterion("other_phone is not null");
            return (Criteria) this;
        }

        public Criteria andOtherPhoneEqualTo(String value) {
            addCriterion("other_phone =", value, "otherPhone");
            return (Criteria) this;
        }

        public Criteria andOtherPhoneNotEqualTo(String value) {
            addCriterion("other_phone <>", value, "otherPhone");
            return (Criteria) this;
        }

        public Criteria andOtherPhoneGreaterThan(String value) {
            addCriterion("other_phone >", value, "otherPhone");
            return (Criteria) this;
        }

        public Criteria andOtherPhoneGreaterThanOrEqualTo(String value) {
            addCriterion("other_phone >=", value, "otherPhone");
            return (Criteria) this;
        }

        public Criteria andOtherPhoneLessThan(String value) {
            addCriterion("other_phone <", value, "otherPhone");
            return (Criteria) this;
        }

        public Criteria andOtherPhoneLessThanOrEqualTo(String value) {
            addCriterion("other_phone <=", value, "otherPhone");
            return (Criteria) this;
        }

        public Criteria andOtherPhoneLike(String value) {
            addCriterion("other_phone like", value, "otherPhone");
            return (Criteria) this;
        }

        public Criteria andOtherPhoneNotLike(String value) {
            addCriterion("other_phone not like", value, "otherPhone");
            return (Criteria) this;
        }

        public Criteria andOtherPhoneIn(List<String> values) {
            addCriterion("other_phone in", values, "otherPhone");
            return (Criteria) this;
        }

        public Criteria andOtherPhoneNotIn(List<String> values) {
            addCriterion("other_phone not in", values, "otherPhone");
            return (Criteria) this;
        }

        public Criteria andOtherPhoneBetween(String value1, String value2) {
            addCriterion("other_phone between", value1, value2, "otherPhone");
            return (Criteria) this;
        }

        public Criteria andOtherPhoneNotBetween(String value1, String value2) {
            addCriterion("other_phone not between", value1, value2, "otherPhone");
            return (Criteria) this;
        }

        public Criteria andOrderTypeIsNull() {
            addCriterion("order_type is null");
            return (Criteria) this;
        }

        public Criteria andOrderTypeIsNotNull() {
            addCriterion("order_type is not null");
            return (Criteria) this;
        }

        public Criteria andOrderTypeEqualTo(Integer value) {
            addCriterion("order_type =", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNotEqualTo(Integer value) {
            addCriterion("order_type <>", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeGreaterThan(Integer value) {
            addCriterion("order_type >", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("order_type >=", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeLessThan(Integer value) {
            addCriterion("order_type <", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeLessThanOrEqualTo(Integer value) {
            addCriterion("order_type <=", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeIn(List<Integer> values) {
            addCriterion("order_type in", values, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNotIn(List<Integer> values) {
            addCriterion("order_type not in", values, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeBetween(Integer value1, Integer value2) {
            addCriterion("order_type between", value1, value2, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("order_type not between", value1, value2, "orderType");
            return (Criteria) this;
        }

        public Criteria andServiceTypeIsNull() {
            addCriterion("service_type is null");
            return (Criteria) this;
        }

        public Criteria andServiceTypeIsNotNull() {
            addCriterion("service_type is not null");
            return (Criteria) this;
        }

        public Criteria andServiceTypeEqualTo(Integer value) {
            addCriterion("service_type =", value, "serviceType");
            return (Criteria) this;
        }

        public Criteria andServiceTypeNotEqualTo(Integer value) {
            addCriterion("service_type <>", value, "serviceType");
            return (Criteria) this;
        }

        public Criteria andServiceTypeGreaterThan(Integer value) {
            addCriterion("service_type >", value, "serviceType");
            return (Criteria) this;
        }

        public Criteria andServiceTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("service_type >=", value, "serviceType");
            return (Criteria) this;
        }

        public Criteria andServiceTypeLessThan(Integer value) {
            addCriterion("service_type <", value, "serviceType");
            return (Criteria) this;
        }

        public Criteria andServiceTypeLessThanOrEqualTo(Integer value) {
            addCriterion("service_type <=", value, "serviceType");
            return (Criteria) this;
        }

        public Criteria andServiceTypeIn(List<Integer> values) {
            addCriterion("service_type in", values, "serviceType");
            return (Criteria) this;
        }

        public Criteria andServiceTypeNotIn(List<Integer> values) {
            addCriterion("service_type not in", values, "serviceType");
            return (Criteria) this;
        }

        public Criteria andServiceTypeBetween(Integer value1, Integer value2) {
            addCriterion("service_type between", value1, value2, "serviceType");
            return (Criteria) this;
        }

        public Criteria andServiceTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("service_type not between", value1, value2, "serviceType");
            return (Criteria) this;
        }

        public Criteria andOrderChannelIsNull() {
            addCriterion("order_channel is null");
            return (Criteria) this;
        }

        public Criteria andOrderChannelIsNotNull() {
            addCriterion("order_channel is not null");
            return (Criteria) this;
        }

        public Criteria andOrderChannelEqualTo(Integer value) {
            addCriterion("order_channel =", value, "orderChannel");
            return (Criteria) this;
        }

        public Criteria andOrderChannelNotEqualTo(Integer value) {
            addCriterion("order_channel <>", value, "orderChannel");
            return (Criteria) this;
        }

        public Criteria andOrderChannelGreaterThan(Integer value) {
            addCriterion("order_channel >", value, "orderChannel");
            return (Criteria) this;
        }

        public Criteria andOrderChannelGreaterThanOrEqualTo(Integer value) {
            addCriterion("order_channel >=", value, "orderChannel");
            return (Criteria) this;
        }

        public Criteria andOrderChannelLessThan(Integer value) {
            addCriterion("order_channel <", value, "orderChannel");
            return (Criteria) this;
        }

        public Criteria andOrderChannelLessThanOrEqualTo(Integer value) {
            addCriterion("order_channel <=", value, "orderChannel");
            return (Criteria) this;
        }

        public Criteria andOrderChannelIn(List<Integer> values) {
            addCriterion("order_channel in", values, "orderChannel");
            return (Criteria) this;
        }

        public Criteria andOrderChannelNotIn(List<Integer> values) {
            addCriterion("order_channel not in", values, "orderChannel");
            return (Criteria) this;
        }

        public Criteria andOrderChannelBetween(Integer value1, Integer value2) {
            addCriterion("order_channel between", value1, value2, "orderChannel");
            return (Criteria) this;
        }

        public Criteria andOrderChannelNotBetween(Integer value1, Integer value2) {
            addCriterion("order_channel not between", value1, value2, "orderChannel");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Integer value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Integer value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Integer value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Integer value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Integer value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Integer> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Integer> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Integer value1, Integer value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andTransactionIdIsNull() {
            addCriterion("transaction_id is null");
            return (Criteria) this;
        }

        public Criteria andTransactionIdIsNotNull() {
            addCriterion("transaction_id is not null");
            return (Criteria) this;
        }

        public Criteria andTransactionIdEqualTo(String value) {
            addCriterion("transaction_id =", value, "transactionId");
            return (Criteria) this;
        }

        public Criteria andTransactionIdNotEqualTo(String value) {
            addCriterion("transaction_id <>", value, "transactionId");
            return (Criteria) this;
        }

        public Criteria andTransactionIdGreaterThan(String value) {
            addCriterion("transaction_id >", value, "transactionId");
            return (Criteria) this;
        }

        public Criteria andTransactionIdGreaterThanOrEqualTo(String value) {
            addCriterion("transaction_id >=", value, "transactionId");
            return (Criteria) this;
        }

        public Criteria andTransactionIdLessThan(String value) {
            addCriterion("transaction_id <", value, "transactionId");
            return (Criteria) this;
        }

        public Criteria andTransactionIdLessThanOrEqualTo(String value) {
            addCriterion("transaction_id <=", value, "transactionId");
            return (Criteria) this;
        }

        public Criteria andTransactionIdLike(String value) {
            addCriterion("transaction_id like", value, "transactionId");
            return (Criteria) this;
        }

        public Criteria andTransactionIdNotLike(String value) {
            addCriterion("transaction_id not like", value, "transactionId");
            return (Criteria) this;
        }

        public Criteria andTransactionIdIn(List<String> values) {
            addCriterion("transaction_id in", values, "transactionId");
            return (Criteria) this;
        }

        public Criteria andTransactionIdNotIn(List<String> values) {
            addCriterion("transaction_id not in", values, "transactionId");
            return (Criteria) this;
        }

        public Criteria andTransactionIdBetween(String value1, String value2) {
            addCriterion("transaction_id between", value1, value2, "transactionId");
            return (Criteria) this;
        }

        public Criteria andTransactionIdNotBetween(String value1, String value2) {
            addCriterion("transaction_id not between", value1, value2, "transactionId");
            return (Criteria) this;
        }

        public Criteria andMappingIdIsNull() {
            addCriterion("mapping_id is null");
            return (Criteria) this;
        }

        public Criteria andMappingIdIsNotNull() {
            addCriterion("mapping_id is not null");
            return (Criteria) this;
        }

        public Criteria andMappingIdEqualTo(String value) {
            addCriterion("mapping_id =", value, "mappingId");
            return (Criteria) this;
        }

        public Criteria andMappingIdNotEqualTo(String value) {
            addCriterion("mapping_id <>", value, "mappingId");
            return (Criteria) this;
        }

        public Criteria andMappingIdGreaterThan(String value) {
            addCriterion("mapping_id >", value, "mappingId");
            return (Criteria) this;
        }

        public Criteria andMappingIdGreaterThanOrEqualTo(String value) {
            addCriterion("mapping_id >=", value, "mappingId");
            return (Criteria) this;
        }

        public Criteria andMappingIdLessThan(String value) {
            addCriterion("mapping_id <", value, "mappingId");
            return (Criteria) this;
        }

        public Criteria andMappingIdLessThanOrEqualTo(String value) {
            addCriterion("mapping_id <=", value, "mappingId");
            return (Criteria) this;
        }

        public Criteria andMappingIdLike(String value) {
            addCriterion("mapping_id like", value, "mappingId");
            return (Criteria) this;
        }

        public Criteria andMappingIdNotLike(String value) {
            addCriterion("mapping_id not like", value, "mappingId");
            return (Criteria) this;
        }

        public Criteria andMappingIdIn(List<String> values) {
            addCriterion("mapping_id in", values, "mappingId");
            return (Criteria) this;
        }

        public Criteria andMappingIdNotIn(List<String> values) {
            addCriterion("mapping_id not in", values, "mappingId");
            return (Criteria) this;
        }

        public Criteria andMappingIdBetween(String value1, String value2) {
            addCriterion("mapping_id between", value1, value2, "mappingId");
            return (Criteria) this;
        }

        public Criteria andMappingIdNotBetween(String value1, String value2) {
            addCriterion("mapping_id not between", value1, value2, "mappingId");
            return (Criteria) this;
        }

        public Criteria andMappingNumberIsNull() {
            addCriterion("mapping_number is null");
            return (Criteria) this;
        }

        public Criteria andMappingNumberIsNotNull() {
            addCriterion("mapping_number is not null");
            return (Criteria) this;
        }

        public Criteria andMappingNumberEqualTo(String value) {
            addCriterion("mapping_number =", value, "mappingNumber");
            return (Criteria) this;
        }

        public Criteria andMappingNumberNotEqualTo(String value) {
            addCriterion("mapping_number <>", value, "mappingNumber");
            return (Criteria) this;
        }

        public Criteria andMappingNumberGreaterThan(String value) {
            addCriterion("mapping_number >", value, "mappingNumber");
            return (Criteria) this;
        }

        public Criteria andMappingNumberGreaterThanOrEqualTo(String value) {
            addCriterion("mapping_number >=", value, "mappingNumber");
            return (Criteria) this;
        }

        public Criteria andMappingNumberLessThan(String value) {
            addCriterion("mapping_number <", value, "mappingNumber");
            return (Criteria) this;
        }

        public Criteria andMappingNumberLessThanOrEqualTo(String value) {
            addCriterion("mapping_number <=", value, "mappingNumber");
            return (Criteria) this;
        }

        public Criteria andMappingNumberLike(String value) {
            addCriterion("mapping_number like", value, "mappingNumber");
            return (Criteria) this;
        }

        public Criteria andMappingNumberNotLike(String value) {
            addCriterion("mapping_number not like", value, "mappingNumber");
            return (Criteria) this;
        }

        public Criteria andMappingNumberIn(List<String> values) {
            addCriterion("mapping_number in", values, "mappingNumber");
            return (Criteria) this;
        }

        public Criteria andMappingNumberNotIn(List<String> values) {
            addCriterion("mapping_number not in", values, "mappingNumber");
            return (Criteria) this;
        }

        public Criteria andMappingNumberBetween(String value1, String value2) {
            addCriterion("mapping_number between", value1, value2, "mappingNumber");
            return (Criteria) this;
        }

        public Criteria andMappingNumberNotBetween(String value1, String value2) {
            addCriterion("mapping_number not between", value1, value2, "mappingNumber");
            return (Criteria) this;
        }

        public Criteria andMerchantIdIsNull() {
            addCriterion("merchant_id is null");
            return (Criteria) this;
        }

        public Criteria andMerchantIdIsNotNull() {
            addCriterion("merchant_id is not null");
            return (Criteria) this;
        }

        public Criteria andMerchantIdEqualTo(String value) {
            addCriterion("merchant_id =", value, "merchantId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdNotEqualTo(String value) {
            addCriterion("merchant_id <>", value, "merchantId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdGreaterThan(String value) {
            addCriterion("merchant_id >", value, "merchantId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdGreaterThanOrEqualTo(String value) {
            addCriterion("merchant_id >=", value, "merchantId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdLessThan(String value) {
            addCriterion("merchant_id <", value, "merchantId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdLessThanOrEqualTo(String value) {
            addCriterion("merchant_id <=", value, "merchantId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdLike(String value) {
            addCriterion("merchant_id like", value, "merchantId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdNotLike(String value) {
            addCriterion("merchant_id not like", value, "merchantId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdIn(List<String> values) {
            addCriterion("merchant_id in", values, "merchantId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdNotIn(List<String> values) {
            addCriterion("merchant_id not in", values, "merchantId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdBetween(String value1, String value2) {
            addCriterion("merchant_id between", value1, value2, "merchantId");
            return (Criteria) this;
        }

        public Criteria andMerchantIdNotBetween(String value1, String value2) {
            addCriterion("merchant_id not between", value1, value2, "merchantId");
            return (Criteria) this;
        }

        public Criteria andIsEvaluateIsNull() {
            addCriterion("is_evaluate is null");
            return (Criteria) this;
        }

        public Criteria andIsEvaluateIsNotNull() {
            addCriterion("is_evaluate is not null");
            return (Criteria) this;
        }

        public Criteria andIsEvaluateEqualTo(Integer value) {
            addCriterion("is_evaluate =", value, "isEvaluate");
            return (Criteria) this;
        }

        public Criteria andIsEvaluateNotEqualTo(Integer value) {
            addCriterion("is_evaluate <>", value, "isEvaluate");
            return (Criteria) this;
        }

        public Criteria andIsEvaluateGreaterThan(Integer value) {
            addCriterion("is_evaluate >", value, "isEvaluate");
            return (Criteria) this;
        }

        public Criteria andIsEvaluateGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_evaluate >=", value, "isEvaluate");
            return (Criteria) this;
        }

        public Criteria andIsEvaluateLessThan(Integer value) {
            addCriterion("is_evaluate <", value, "isEvaluate");
            return (Criteria) this;
        }

        public Criteria andIsEvaluateLessThanOrEqualTo(Integer value) {
            addCriterion("is_evaluate <=", value, "isEvaluate");
            return (Criteria) this;
        }

        public Criteria andIsEvaluateIn(List<Integer> values) {
            addCriterion("is_evaluate in", values, "isEvaluate");
            return (Criteria) this;
        }

        public Criteria andIsEvaluateNotIn(List<Integer> values) {
            addCriterion("is_evaluate not in", values, "isEvaluate");
            return (Criteria) this;
        }

        public Criteria andIsEvaluateBetween(Integer value1, Integer value2) {
            addCriterion("is_evaluate between", value1, value2, "isEvaluate");
            return (Criteria) this;
        }

        public Criteria andIsEvaluateNotBetween(Integer value1, Integer value2) {
            addCriterion("is_evaluate not between", value1, value2, "isEvaluate");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeIsNull() {
            addCriterion("invoice_type is null");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeIsNotNull() {
            addCriterion("invoice_type is not null");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeEqualTo(Integer value) {
            addCriterion("invoice_type =", value, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeNotEqualTo(Integer value) {
            addCriterion("invoice_type <>", value, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeGreaterThan(Integer value) {
            addCriterion("invoice_type >", value, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("invoice_type >=", value, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeLessThan(Integer value) {
            addCriterion("invoice_type <", value, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeLessThanOrEqualTo(Integer value) {
            addCriterion("invoice_type <=", value, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeIn(List<Integer> values) {
            addCriterion("invoice_type in", values, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeNotIn(List<Integer> values) {
            addCriterion("invoice_type not in", values, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeBetween(Integer value1, Integer value2) {
            addCriterion("invoice_type between", value1, value2, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andInvoiceTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("invoice_type not between", value1, value2, "invoiceType");
            return (Criteria) this;
        }

        public Criteria andIsAnnotateIsNull() {
            addCriterion("is_annotate is null");
            return (Criteria) this;
        }

        public Criteria andIsAnnotateIsNotNull() {
            addCriterion("is_annotate is not null");
            return (Criteria) this;
        }

        public Criteria andIsAnnotateEqualTo(Integer value) {
            addCriterion("is_annotate =", value, "isAnnotate");
            return (Criteria) this;
        }

        public Criteria andIsAnnotateNotEqualTo(Integer value) {
            addCriterion("is_annotate <>", value, "isAnnotate");
            return (Criteria) this;
        }

        public Criteria andIsAnnotateGreaterThan(Integer value) {
            addCriterion("is_annotate >", value, "isAnnotate");
            return (Criteria) this;
        }

        public Criteria andIsAnnotateGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_annotate >=", value, "isAnnotate");
            return (Criteria) this;
        }

        public Criteria andIsAnnotateLessThan(Integer value) {
            addCriterion("is_annotate <", value, "isAnnotate");
            return (Criteria) this;
        }

        public Criteria andIsAnnotateLessThanOrEqualTo(Integer value) {
            addCriterion("is_annotate <=", value, "isAnnotate");
            return (Criteria) this;
        }

        public Criteria andIsAnnotateIn(List<Integer> values) {
            addCriterion("is_annotate in", values, "isAnnotate");
            return (Criteria) this;
        }

        public Criteria andIsAnnotateNotIn(List<Integer> values) {
            addCriterion("is_annotate not in", values, "isAnnotate");
            return (Criteria) this;
        }

        public Criteria andIsAnnotateBetween(Integer value1, Integer value2) {
            addCriterion("is_annotate between", value1, value2, "isAnnotate");
            return (Criteria) this;
        }

        public Criteria andIsAnnotateNotBetween(Integer value1, Integer value2) {
            addCriterion("is_annotate not between", value1, value2, "isAnnotate");
            return (Criteria) this;
        }

        public Criteria andSourceIsNull() {
            addCriterion("source is null");
            return (Criteria) this;
        }

        public Criteria andSourceIsNotNull() {
            addCriterion("source is not null");
            return (Criteria) this;
        }

        public Criteria andSourceEqualTo(String value) {
            addCriterion("source =", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceNotEqualTo(String value) {
            addCriterion("source <>", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceGreaterThan(String value) {
            addCriterion("source >", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceGreaterThanOrEqualTo(String value) {
            addCriterion("source >=", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceLessThan(String value) {
            addCriterion("source <", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceLessThanOrEqualTo(String value) {
            addCriterion("source <=", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceLike(String value) {
            addCriterion("source like", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceNotLike(String value) {
            addCriterion("source not like", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceIn(List<String> values) {
            addCriterion("source in", values, "source");
            return (Criteria) this;
        }

        public Criteria andSourceNotIn(List<String> values) {
            addCriterion("source not in", values, "source");
            return (Criteria) this;
        }

        public Criteria andSourceBetween(String value1, String value2) {
            addCriterion("source between", value1, value2, "source");
            return (Criteria) this;
        }

        public Criteria andSourceNotBetween(String value1, String value2) {
            addCriterion("source not between", value1, value2, "source");
            return (Criteria) this;
        }

        public Criteria andUseCouponIsNull() {
            addCriterion("use_coupon is null");
            return (Criteria) this;
        }

        public Criteria andUseCouponIsNotNull() {
            addCriterion("use_coupon is not null");
            return (Criteria) this;
        }

        public Criteria andUseCouponEqualTo(Integer value) {
            addCriterion("use_coupon =", value, "useCoupon");
            return (Criteria) this;
        }

        public Criteria andUseCouponNotEqualTo(Integer value) {
            addCriterion("use_coupon <>", value, "useCoupon");
            return (Criteria) this;
        }

        public Criteria andUseCouponGreaterThan(Integer value) {
            addCriterion("use_coupon >", value, "useCoupon");
            return (Criteria) this;
        }

        public Criteria andUseCouponGreaterThanOrEqualTo(Integer value) {
            addCriterion("use_coupon >=", value, "useCoupon");
            return (Criteria) this;
        }

        public Criteria andUseCouponLessThan(Integer value) {
            addCriterion("use_coupon <", value, "useCoupon");
            return (Criteria) this;
        }

        public Criteria andUseCouponLessThanOrEqualTo(Integer value) {
            addCriterion("use_coupon <=", value, "useCoupon");
            return (Criteria) this;
        }

        public Criteria andUseCouponIn(List<Integer> values) {
            addCriterion("use_coupon in", values, "useCoupon");
            return (Criteria) this;
        }

        public Criteria andUseCouponNotIn(List<Integer> values) {
            addCriterion("use_coupon not in", values, "useCoupon");
            return (Criteria) this;
        }

        public Criteria andUseCouponBetween(Integer value1, Integer value2) {
            addCriterion("use_coupon between", value1, value2, "useCoupon");
            return (Criteria) this;
        }

        public Criteria andUseCouponNotBetween(Integer value1, Integer value2) {
            addCriterion("use_coupon not between", value1, value2, "useCoupon");
            return (Criteria) this;
        }

        public Criteria andCancelOrderTypeIsNull() {
            addCriterion("cancel_order_type is null");
            return (Criteria) this;
        }

        public Criteria andCancelOrderTypeIsNotNull() {
            addCriterion("cancel_order_type is not null");
            return (Criteria) this;
        }

        public Criteria andCancelOrderTypeEqualTo(Integer value) {
            addCriterion("cancel_order_type =", value, "cancelOrderType");
            return (Criteria) this;
        }

        public Criteria andCancelOrderTypeNotEqualTo(Integer value) {
            addCriterion("cancel_order_type <>", value, "cancelOrderType");
            return (Criteria) this;
        }

        public Criteria andCancelOrderTypeGreaterThan(Integer value) {
            addCriterion("cancel_order_type >", value, "cancelOrderType");
            return (Criteria) this;
        }

        public Criteria andCancelOrderTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("cancel_order_type >=", value, "cancelOrderType");
            return (Criteria) this;
        }

        public Criteria andCancelOrderTypeLessThan(Integer value) {
            addCriterion("cancel_order_type <", value, "cancelOrderType");
            return (Criteria) this;
        }

        public Criteria andCancelOrderTypeLessThanOrEqualTo(Integer value) {
            addCriterion("cancel_order_type <=", value, "cancelOrderType");
            return (Criteria) this;
        }

        public Criteria andCancelOrderTypeIn(List<Integer> values) {
            addCriterion("cancel_order_type in", values, "cancelOrderType");
            return (Criteria) this;
        }

        public Criteria andCancelOrderTypeNotIn(List<Integer> values) {
            addCriterion("cancel_order_type not in", values, "cancelOrderType");
            return (Criteria) this;
        }

        public Criteria andCancelOrderTypeBetween(Integer value1, Integer value2) {
            addCriterion("cancel_order_type between", value1, value2, "cancelOrderType");
            return (Criteria) this;
        }

        public Criteria andCancelOrderTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("cancel_order_type not between", value1, value2, "cancelOrderType");
            return (Criteria) this;
        }

        public Criteria andPayTypeIsNull() {
            addCriterion("pay_type is null");
            return (Criteria) this;
        }

        public Criteria andPayTypeIsNotNull() {
            addCriterion("pay_type is not null");
            return (Criteria) this;
        }

        public Criteria andPayTypeEqualTo(Integer value) {
            addCriterion("pay_type =", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeNotEqualTo(Integer value) {
            addCriterion("pay_type <>", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeGreaterThan(Integer value) {
            addCriterion("pay_type >", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("pay_type >=", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeLessThan(Integer value) {
            addCriterion("pay_type <", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeLessThanOrEqualTo(Integer value) {
            addCriterion("pay_type <=", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeIn(List<Integer> values) {
            addCriterion("pay_type in", values, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeNotIn(List<Integer> values) {
            addCriterion("pay_type not in", values, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeBetween(Integer value1, Integer value2) {
            addCriterion("pay_type between", value1, value2, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("pay_type not between", value1, value2, "payType");
            return (Criteria) this;
        }

        public Criteria andIsPaidIsNull() {
            addCriterion("is_paid is null");
            return (Criteria) this;
        }

        public Criteria andIsPaidIsNotNull() {
            addCriterion("is_paid is not null");
            return (Criteria) this;
        }

        public Criteria andIsPaidEqualTo(Integer value) {
            addCriterion("is_paid =", value, "isPaid");
            return (Criteria) this;
        }

        public Criteria andIsPaidNotEqualTo(Integer value) {
            addCriterion("is_paid <>", value, "isPaid");
            return (Criteria) this;
        }

        public Criteria andIsPaidGreaterThan(Integer value) {
            addCriterion("is_paid >", value, "isPaid");
            return (Criteria) this;
        }

        public Criteria andIsPaidGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_paid >=", value, "isPaid");
            return (Criteria) this;
        }

        public Criteria andIsPaidLessThan(Integer value) {
            addCriterion("is_paid <", value, "isPaid");
            return (Criteria) this;
        }

        public Criteria andIsPaidLessThanOrEqualTo(Integer value) {
            addCriterion("is_paid <=", value, "isPaid");
            return (Criteria) this;
        }

        public Criteria andIsPaidIn(List<Integer> values) {
            addCriterion("is_paid in", values, "isPaid");
            return (Criteria) this;
        }

        public Criteria andIsPaidNotIn(List<Integer> values) {
            addCriterion("is_paid not in", values, "isPaid");
            return (Criteria) this;
        }

        public Criteria andIsPaidBetween(Integer value1, Integer value2) {
            addCriterion("is_paid between", value1, value2, "isPaid");
            return (Criteria) this;
        }

        public Criteria andIsPaidNotBetween(Integer value1, Integer value2) {
            addCriterion("is_paid not between", value1, value2, "isPaid");
            return (Criteria) this;
        }

        public Criteria andIsCancelIsNull() {
            addCriterion("is_cancel is null");
            return (Criteria) this;
        }

        public Criteria andIsCancelIsNotNull() {
            addCriterion("is_cancel is not null");
            return (Criteria) this;
        }

        public Criteria andIsCancelEqualTo(Integer value) {
            addCriterion("is_cancel =", value, "isCancel");
            return (Criteria) this;
        }

        public Criteria andIsCancelNotEqualTo(Integer value) {
            addCriterion("is_cancel <>", value, "isCancel");
            return (Criteria) this;
        }

        public Criteria andIsCancelGreaterThan(Integer value) {
            addCriterion("is_cancel >", value, "isCancel");
            return (Criteria) this;
        }

        public Criteria andIsCancelGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_cancel >=", value, "isCancel");
            return (Criteria) this;
        }

        public Criteria andIsCancelLessThan(Integer value) {
            addCriterion("is_cancel <", value, "isCancel");
            return (Criteria) this;
        }

        public Criteria andIsCancelLessThanOrEqualTo(Integer value) {
            addCriterion("is_cancel <=", value, "isCancel");
            return (Criteria) this;
        }

        public Criteria andIsCancelIn(List<Integer> values) {
            addCriterion("is_cancel in", values, "isCancel");
            return (Criteria) this;
        }

        public Criteria andIsCancelNotIn(List<Integer> values) {
            addCriterion("is_cancel not in", values, "isCancel");
            return (Criteria) this;
        }

        public Criteria andIsCancelBetween(Integer value1, Integer value2) {
            addCriterion("is_cancel between", value1, value2, "isCancel");
            return (Criteria) this;
        }

        public Criteria andIsCancelNotBetween(Integer value1, Integer value2) {
            addCriterion("is_cancel not between", value1, value2, "isCancel");
            return (Criteria) this;
        }

        public Criteria andIsAdjustIsNull() {
            addCriterion("is_adjust is null");
            return (Criteria) this;
        }

        public Criteria andIsAdjustIsNotNull() {
            addCriterion("is_adjust is not null");
            return (Criteria) this;
        }

        public Criteria andIsAdjustEqualTo(Integer value) {
            addCriterion("is_adjust =", value, "isAdjust");
            return (Criteria) this;
        }

        public Criteria andIsAdjustNotEqualTo(Integer value) {
            addCriterion("is_adjust <>", value, "isAdjust");
            return (Criteria) this;
        }

        public Criteria andIsAdjustGreaterThan(Integer value) {
            addCriterion("is_adjust >", value, "isAdjust");
            return (Criteria) this;
        }

        public Criteria andIsAdjustGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_adjust >=", value, "isAdjust");
            return (Criteria) this;
        }

        public Criteria andIsAdjustLessThan(Integer value) {
            addCriterion("is_adjust <", value, "isAdjust");
            return (Criteria) this;
        }

        public Criteria andIsAdjustLessThanOrEqualTo(Integer value) {
            addCriterion("is_adjust <=", value, "isAdjust");
            return (Criteria) this;
        }

        public Criteria andIsAdjustIn(List<Integer> values) {
            addCriterion("is_adjust in", values, "isAdjust");
            return (Criteria) this;
        }

        public Criteria andIsAdjustNotIn(List<Integer> values) {
            addCriterion("is_adjust not in", values, "isAdjust");
            return (Criteria) this;
        }

        public Criteria andIsAdjustBetween(Integer value1, Integer value2) {
            addCriterion("is_adjust between", value1, value2, "isAdjust");
            return (Criteria) this;
        }

        public Criteria andIsAdjustNotBetween(Integer value1, Integer value2) {
            addCriterion("is_adjust not between", value1, value2, "isAdjust");
            return (Criteria) this;
        }

        public Criteria andIsDissentIsNull() {
            addCriterion("is_dissent is null");
            return (Criteria) this;
        }

        public Criteria andIsDissentIsNotNull() {
            addCriterion("is_dissent is not null");
            return (Criteria) this;
        }

        public Criteria andIsDissentEqualTo(Integer value) {
            addCriterion("is_dissent =", value, "isDissent");
            return (Criteria) this;
        }

        public Criteria andIsDissentNotEqualTo(Integer value) {
            addCriterion("is_dissent <>", value, "isDissent");
            return (Criteria) this;
        }

        public Criteria andIsDissentGreaterThan(Integer value) {
            addCriterion("is_dissent >", value, "isDissent");
            return (Criteria) this;
        }

        public Criteria andIsDissentGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_dissent >=", value, "isDissent");
            return (Criteria) this;
        }

        public Criteria andIsDissentLessThan(Integer value) {
            addCriterion("is_dissent <", value, "isDissent");
            return (Criteria) this;
        }

        public Criteria andIsDissentLessThanOrEqualTo(Integer value) {
            addCriterion("is_dissent <=", value, "isDissent");
            return (Criteria) this;
        }

        public Criteria andIsDissentIn(List<Integer> values) {
            addCriterion("is_dissent in", values, "isDissent");
            return (Criteria) this;
        }

        public Criteria andIsDissentNotIn(List<Integer> values) {
            addCriterion("is_dissent not in", values, "isDissent");
            return (Criteria) this;
        }

        public Criteria andIsDissentBetween(Integer value1, Integer value2) {
            addCriterion("is_dissent between", value1, value2, "isDissent");
            return (Criteria) this;
        }

        public Criteria andIsDissentNotBetween(Integer value1, Integer value2) {
            addCriterion("is_dissent not between", value1, value2, "isDissent");
            return (Criteria) this;
        }

        public Criteria andIsManualIsNull() {
            addCriterion("is_manual is null");
            return (Criteria) this;
        }

        public Criteria andIsManualIsNotNull() {
            addCriterion("is_manual is not null");
            return (Criteria) this;
        }

        public Criteria andIsManualEqualTo(Integer value) {
            addCriterion("is_manual =", value, "isManual");
            return (Criteria) this;
        }

        public Criteria andIsManualNotEqualTo(Integer value) {
            addCriterion("is_manual <>", value, "isManual");
            return (Criteria) this;
        }

        public Criteria andIsManualGreaterThan(Integer value) {
            addCriterion("is_manual >", value, "isManual");
            return (Criteria) this;
        }

        public Criteria andIsManualGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_manual >=", value, "isManual");
            return (Criteria) this;
        }

        public Criteria andIsManualLessThan(Integer value) {
            addCriterion("is_manual <", value, "isManual");
            return (Criteria) this;
        }

        public Criteria andIsManualLessThanOrEqualTo(Integer value) {
            addCriterion("is_manual <=", value, "isManual");
            return (Criteria) this;
        }

        public Criteria andIsManualIn(List<Integer> values) {
            addCriterion("is_manual in", values, "isManual");
            return (Criteria) this;
        }

        public Criteria andIsManualNotIn(List<Integer> values) {
            addCriterion("is_manual not in", values, "isManual");
            return (Criteria) this;
        }

        public Criteria andIsManualBetween(Integer value1, Integer value2) {
            addCriterion("is_manual between", value1, value2, "isManual");
            return (Criteria) this;
        }

        public Criteria andIsManualNotBetween(Integer value1, Integer value2) {
            addCriterion("is_manual not between", value1, value2, "isManual");
            return (Criteria) this;
        }

        public Criteria andIsFollowingIsNull() {
            addCriterion("is_following is null");
            return (Criteria) this;
        }

        public Criteria andIsFollowingIsNotNull() {
            addCriterion("is_following is not null");
            return (Criteria) this;
        }

        public Criteria andIsFollowingEqualTo(Integer value) {
            addCriterion("is_following =", value, "isFollowing");
            return (Criteria) this;
        }

        public Criteria andIsFollowingNotEqualTo(Integer value) {
            addCriterion("is_following <>", value, "isFollowing");
            return (Criteria) this;
        }

        public Criteria andIsFollowingGreaterThan(Integer value) {
            addCriterion("is_following >", value, "isFollowing");
            return (Criteria) this;
        }

        public Criteria andIsFollowingGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_following >=", value, "isFollowing");
            return (Criteria) this;
        }

        public Criteria andIsFollowingLessThan(Integer value) {
            addCriterion("is_following <", value, "isFollowing");
            return (Criteria) this;
        }

        public Criteria andIsFollowingLessThanOrEqualTo(Integer value) {
            addCriterion("is_following <=", value, "isFollowing");
            return (Criteria) this;
        }

        public Criteria andIsFollowingIn(List<Integer> values) {
            addCriterion("is_following in", values, "isFollowing");
            return (Criteria) this;
        }

        public Criteria andIsFollowingNotIn(List<Integer> values) {
            addCriterion("is_following not in", values, "isFollowing");
            return (Criteria) this;
        }

        public Criteria andIsFollowingBetween(Integer value1, Integer value2) {
            addCriterion("is_following between", value1, value2, "isFollowing");
            return (Criteria) this;
        }

        public Criteria andIsFollowingNotBetween(Integer value1, Integer value2) {
            addCriterion("is_following not between", value1, value2, "isFollowing");
            return (Criteria) this;
        }

        public Criteria andIsFakeSuccessIsNull() {
            addCriterion("is_fake_success is null");
            return (Criteria) this;
        }

        public Criteria andIsFakeSuccessIsNotNull() {
            addCriterion("is_fake_success is not null");
            return (Criteria) this;
        }

        public Criteria andIsFakeSuccessEqualTo(Integer value) {
            addCriterion("is_fake_success =", value, "isFakeSuccess");
            return (Criteria) this;
        }

        public Criteria andIsFakeSuccessNotEqualTo(Integer value) {
            addCriterion("is_fake_success <>", value, "isFakeSuccess");
            return (Criteria) this;
        }

        public Criteria andIsFakeSuccessGreaterThan(Integer value) {
            addCriterion("is_fake_success >", value, "isFakeSuccess");
            return (Criteria) this;
        }

        public Criteria andIsFakeSuccessGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_fake_success >=", value, "isFakeSuccess");
            return (Criteria) this;
        }

        public Criteria andIsFakeSuccessLessThan(Integer value) {
            addCriterion("is_fake_success <", value, "isFakeSuccess");
            return (Criteria) this;
        }

        public Criteria andIsFakeSuccessLessThanOrEqualTo(Integer value) {
            addCriterion("is_fake_success <=", value, "isFakeSuccess");
            return (Criteria) this;
        }

        public Criteria andIsFakeSuccessIn(List<Integer> values) {
            addCriterion("is_fake_success in", values, "isFakeSuccess");
            return (Criteria) this;
        }

        public Criteria andIsFakeSuccessNotIn(List<Integer> values) {
            addCriterion("is_fake_success not in", values, "isFakeSuccess");
            return (Criteria) this;
        }

        public Criteria andIsFakeSuccessBetween(Integer value1, Integer value2) {
            addCriterion("is_fake_success between", value1, value2, "isFakeSuccess");
            return (Criteria) this;
        }

        public Criteria andIsFakeSuccessNotBetween(Integer value1, Integer value2) {
            addCriterion("is_fake_success not between", value1, value2, "isFakeSuccess");
            return (Criteria) this;
        }

        public Criteria andMemoIsNull() {
            addCriterion("memo is null");
            return (Criteria) this;
        }

        public Criteria andMemoIsNotNull() {
            addCriterion("memo is not null");
            return (Criteria) this;
        }

        public Criteria andMemoEqualTo(String value) {
            addCriterion("memo =", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoNotEqualTo(String value) {
            addCriterion("memo <>", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoGreaterThan(String value) {
            addCriterion("memo >", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoGreaterThanOrEqualTo(String value) {
            addCriterion("memo >=", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoLessThan(String value) {
            addCriterion("memo <", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoLessThanOrEqualTo(String value) {
            addCriterion("memo <=", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoLike(String value) {
            addCriterion("memo like", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoNotLike(String value) {
            addCriterion("memo not like", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoIn(List<String> values) {
            addCriterion("memo in", values, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoNotIn(List<String> values) {
            addCriterion("memo not in", values, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoBetween(String value1, String value2) {
            addCriterion("memo between", value1, value2, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoNotBetween(String value1, String value2) {
            addCriterion("memo not between", value1, value2, "memo");
            return (Criteria) this;
        }

        public Criteria andCreatedIsNull() {
            addCriterion("created is null");
            return (Criteria) this;
        }

        public Criteria andCreatedIsNotNull() {
            addCriterion("created is not null");
            return (Criteria) this;
        }

        public Criteria andCreatedEqualTo(Date value) {
            addCriterion("created =", value, "created");
            return (Criteria) this;
        }

        public Criteria andCreatedNotEqualTo(Date value) {
            addCriterion("created <>", value, "created");
            return (Criteria) this;
        }

        public Criteria andCreatedGreaterThan(Date value) {
            addCriterion("created >", value, "created");
            return (Criteria) this;
        }

        public Criteria andCreatedGreaterThanOrEqualTo(Date value) {
            addCriterion("created >=", value, "created");
            return (Criteria) this;
        }

        public Criteria andCreatedLessThan(Date value) {
            addCriterion("created <", value, "created");
            return (Criteria) this;
        }

        public Criteria andCreatedLessThanOrEqualTo(Date value) {
            addCriterion("created <=", value, "created");
            return (Criteria) this;
        }

        public Criteria andCreatedIn(List<Date> values) {
            addCriterion("created in", values, "created");
            return (Criteria) this;
        }

        public Criteria andCreatedNotIn(List<Date> values) {
            addCriterion("created not in", values, "created");
            return (Criteria) this;
        }

        public Criteria andCreatedBetween(Date value1, Date value2) {
            addCriterion("created between", value1, value2, "created");
            return (Criteria) this;
        }

        public Criteria andCreatedNotBetween(Date value1, Date value2) {
            addCriterion("created not between", value1, value2, "created");
            return (Criteria) this;
        }

        public Criteria andUpdatedIsNull() {
            addCriterion("updated is null");
            return (Criteria) this;
        }

        public Criteria andUpdatedIsNotNull() {
            addCriterion("updated is not null");
            return (Criteria) this;
        }

        public Criteria andUpdatedEqualTo(Date value) {
            addCriterion("updated =", value, "updated");
            return (Criteria) this;
        }

        public Criteria andUpdatedNotEqualTo(Date value) {
            addCriterion("updated <>", value, "updated");
            return (Criteria) this;
        }

        public Criteria andUpdatedGreaterThan(Date value) {
            addCriterion("updated >", value, "updated");
            return (Criteria) this;
        }

        public Criteria andUpdatedGreaterThanOrEqualTo(Date value) {
            addCriterion("updated >=", value, "updated");
            return (Criteria) this;
        }

        public Criteria andUpdatedLessThan(Date value) {
            addCriterion("updated <", value, "updated");
            return (Criteria) this;
        }

        public Criteria andUpdatedLessThanOrEqualTo(Date value) {
            addCriterion("updated <=", value, "updated");
            return (Criteria) this;
        }

        public Criteria andUpdatedIn(List<Date> values) {
            addCriterion("updated in", values, "updated");
            return (Criteria) this;
        }

        public Criteria andUpdatedNotIn(List<Date> values) {
            addCriterion("updated not in", values, "updated");
            return (Criteria) this;
        }

        public Criteria andUpdatedBetween(Date value1, Date value2) {
            addCriterion("updated between", value1, value2, "updated");
            return (Criteria) this;
        }

        public Criteria andUpdatedNotBetween(Date value1, Date value2) {
            addCriterion("updated not between", value1, value2, "updated");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}